home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / c / inter40b.zip / PORTS.LST < prev    next >
File List  |  1994-04-03  |  82KB  |  2,193 lines

  1. [This file was provided by Wim Osterholt (2:512/56 or wim@djo.wtm.tudelft.nl).]
  2. Last Change: 4/3/94
  3.  
  4.  
  5.  
  6.         XT, AT and PS/2     I/O port addresses
  7.  
  8.       Do NOT consider this information as complete and accurate.
  9.       If you want to do harware programming check ALWAYS the
  10.       appropriate data sheets. Be aware that erroneously programming
  11.       can put your hardware or your data at risk. 
  12.  
  13.       There is a memory mapped address in use for I/O functions of which I
  14.       think it should be mentioned here. See at the end of this list.
  15.  
  16. -------------------------------------------------------------------------------
  17. 0000-001F ----    DMA 1    (first Direct Memory Access controller 8237)
  18.  
  19. 0000    r/w    DMA channel 0  address    byte  0, then byte 1.
  20. 0001    r/w    DMA channel 0 word count byte 0, then byte 1.
  21. 0002    r/w    DMA channel 1  address    byte  0, then byte 1.
  22. 0003    r/w    DMA channel 1 word count byte 0, then byte 1.
  23. 0004    r/w    DMA channel 2  address    byte  0, then byte 1.
  24. 0005    r/w    DMA channel 2 word count byte 0, then byte 1.
  25. 0006    r/w    DMA channel 3  address    byte  0, then byte 1.
  26. 0007    r/w    DMA channel 3 word count byte 0, then byte 1.
  27.  
  28. 0008    r    DMA channel 0-3 status register
  29.          bit 7 = 1  channel 3 request
  30.          bit 6 = 1  channel 2 request
  31.          bit 5 = 1  channel 1 request
  32.          bit 4 = 1  channel 0 request
  33.          bit 3 = 1  channel terminal count on channel 3
  34.          bit 2 = 1  channel terminal count on channel 2
  35.          bit 1 = 1  channel terminal count on channel 1
  36.          bit 0 = 1  channel terminal count on channel 0
  37.  
  38. 0008    w    DMA channel 0-3 command register
  39.          bit 7 = 1  DACK sense active high
  40.                = 0  DACK sense active low
  41.          bit 6 = 1  DREQ sense active high
  42.                = 0  DREQ sense active low
  43.          bit 5 = 1  extended write selection
  44.                = 0  late write selection
  45.          bit 4 = 1  rotating priority
  46.                = 0  fixed priority
  47.          bit 3 = 1  compressed timing
  48.                = 0  normal timing
  49.          bit 2 = 1  enable controller
  50.                = 0  enable memory-to-memory
  51.  
  52. 0009    w    DMA write request register
  53.  
  54. 000A    r/w    DMA channel 0-3 mask register
  55.          bit 7-3 = 0   reserved
  56.          bit 2     = 0   clear mask bit
  57.              = 1   set mask bit
  58.          bit 1-0 = 00  channel 0 select
  59.              = 01  channel 1 select
  60.              = 10  channel 2 select
  61.              = 11  channel 3 select
  62.  
  63. 000B    w    DMA channel 0-3 mode register
  64.          bit 7-6 = 00  demand mode
  65.              = 01  single mode
  66.              = 10  block mode
  67.              = 11  cascade mode
  68.          bit 5     = 0   address increment select
  69.              = 1   address decrement select
  70.          bit 3-2 = 00  verify operation
  71.              = 01  write to memory
  72.              = 10  read from memory
  73.              = 11  reserved
  74.          bit 1-0 = 00  channel 0 select
  75.              = 01  channel 1 select
  76.              = 10  channel 2 select
  77.              = 11  channel 3 select
  78.  
  79. 000C    w    DMA clear byte pointer flip-flop
  80. 000D    r    DMA read temporary register
  81. 000D    w    DMA master clear
  82. 000E    w    DMA clear mask register
  83. 000F    w    DMA write mask register
  84.  
  85. -------------------------------------------------------------------------------
  86. 0010-001F ----    DMA controller (8237) on PS/2 model 60 & 80
  87.  
  88. -------------------------------------------------------------------------------
  89. 0018    w    PS/2 extended function register
  90.  
  91. -------------------------------------------------------------------------------
  92. 001A        PS/2 extended function execute
  93.  
  94. -------------------------------------------------------------------------------
  95. 0020-003F ----    PIC 1    (Programmable Interrupt Controller 8259)
  96.  
  97. 0020    w    PIC initialization command word ICW1
  98.          bit 7-5 = 0  only used in 80/85 mode
  99.          bit 4     = 1  ICW1 is being issued
  100.          bit 3     = 0  edge triggered mode
  101.              = 1  level triggered mode
  102.          bit 2     = 0  successive interrupt vectors use 8 bytes
  103.              = 1  successive interrupt vectors use 4 bytes
  104.          bit 1     = 0  cascade mode
  105.              = 1  single mode, no ICW3 needed
  106.          bit 0     = 0  no ICW4 needed
  107.              = 1  ICW4 needed
  108.  
  109. 0021    w    PIC  ICW2,ICW3,ICW4 after ICW1 to 0020
  110.         ICW2:
  111.          bit 7-3 = address lines A0-A3 of base vector address for PIC
  112.          bit 2-0 = reserved
  113.         ICW3:
  114.          bit 7-0 = 0  slave controller not attached to corresponding
  115.                   interrupt pin
  116.              = 1  slave controller attached to corresponding
  117.                   interrupt pin
  118.         ICW4:
  119.          bit 7-5 = 0  reserved
  120.          bit 4     = 0  no special fully-nested mode
  121.              = 1  special fully-nested mode
  122.          bit 3-2 = 0x nonbuffered mode
  123.              = 10 buffered mode/slave
  124.              = 11 buffered mode/master
  125.          bit 1     = 0  normal EOI
  126.              = 1  Auto EOI
  127.          bit 0     = 0  8085 mode
  128.              = 1  8086/8088 mode
  129.  
  130. 0021    r/w    PIC master interrupt mask register
  131.         OCW1:
  132.          bit 7 = 0  enable parallel printer interrupt
  133.          bit 6 = 0  enable diskette interrupt
  134.          bit 5 = 0  enable fixed disk interrupt
  135.          bit 4 = 0  enable serial port 1 interrupt
  136.          bit 3 = 0  enable serial port 2 interrupt
  137.          bit 2 = 0  enable video interrupt
  138.          bit 1 = 0  enable keyboard, mouse, RTC interrupt
  139.          bit 0 = 0  enable timer interrupt
  140.         OCW2:
  141.          bit 7-5 = 000    rotate in auto EOI mode (clear)
  142.              = 001    nonspecific EOI
  143.              = 010    no operation
  144.              = 011    specific EOI
  145.              = 100    rotate in auto EOI mode (set)
  146.              = 101    rotate on nonspecific EOI command
  147.              = 110    set priority command
  148.              = 111    rotate on specific EOI command
  149.          bit 4     = 0    reserved
  150.          bit 3     = 0    reserved
  151.          bit 2-0    interrupt request to which the command applies
  152.  
  153. 0020    r    PIC  interrupt request/in-service registers by OCW3
  154.         request register:
  155.          bit 7-0 = 0  no active request for the corresponding int. line
  156.              = 1  active request for corresponding interrupt line
  157.         in-service register:
  158.          bit 7-0 = 0  corresponding line not currently being serviced
  159.              = 1  corresponding int. line currently being serviced
  160.  
  161. 0020    w    PIC OCW3
  162.          bit 7     = 0   reserved
  163.          bit 6-5 = 0x  no operation
  164.              = 10  reset special mask
  165.              = 11  set special mask
  166.          bit 4     = 0   reserved
  167.          bit 3     = 1   reserved
  168.          bit 2     = 0   no poll command
  169.              = 1   poll command
  170.          bit 1-0 = 0x  no operation
  171.              = 10  read int.request register on next read at 0020
  172.              = 11  read int.in-service register on next read 0020
  173.  
  174. -------------------------------------------------------------------------------
  175. 0022-002B ----    Intel 82355, part of chipset for 386sx
  176.          initialisation in POST will disable these addresses,
  177.          only a hard reset will enable them again.
  178.  
  179. 0022    r/w    82335 MCR memory configuration register
  180. 0024        82335 RC1 roll compare register
  181. 0026        82335 RC2 roll compare register
  182. 0028        82335 CC0 compare register
  183. 002A        82335 CC1 compare register
  184.  
  185.           values for CC0 and CC1:
  186.           00F9,0000  enable range compare CC0 0-512K  CC1 disable
  187.           00F1,0000  enable range compare CC0 0-1024K CC1 disable
  188.           00F1,10F9  enable range compare CC0 0-1M    CC1 1M-1M5
  189.           00E1,0000  enable range compare CC0 0-2M    CC1 disable
  190.           00E1,0000  enable range compare CC0 0-2M    CC1 disable
  191.           00C1,0000  enable range compare CC0 0-4M    CC1 disable
  192.           00C1,40E1  enable range compare CC0 0-4M    CC1 4M-6M
  193.           0081,0000  enable range compare CC0 0-8M    CC1 disable
  194.  
  195. -------------------------------------------------------------------------------
  196. 0022-0023 ----    ???
  197.  
  198. 0022    w    index for accesses to next port
  199. 0023    r/w    ???
  200.  
  201. -------------------------------------------------------------------------------
  202. 0038-003F ----    PC radio by CoZet Info Systems
  203.         The I/O address range is dipswitch selectable from:
  204.            038-03F and 0B0-0BF
  205.            078-07F and 0F0-0FF
  206.            138-13F and 1B0-1BF
  207.            178-17F and 1F0-1FF
  208.            238-23F and 2B0-2BF
  209.            278-27F and 2F0-2FF
  210.            338-33F and 3B0-3BF
  211.            378-37F and 3F0-3FF
  212.         All of these addresses show a readout of FF in initial state.
  213.         Once started, all of the addresses show     FB, whatever might
  214.         happen.
  215.  
  216. -------------------------------------------------------------------------------
  217. 0040-005F ----    PIT  (Programmable Interrupt Timer  8253, 8254)
  218.          XT & AT uses 40-43    PS/2 uses 40, 42,43,44, 47
  219.  
  220. 0040    r/w    PIT  counter 0, counter divisor          (XT, AT, PS/2)
  221. 0041    r/w    PIT  counter 1, RAM refresh counter   (XT, AT)
  222. 0042    r/w    PIT  counter 2, cassette & speaker    (XT, AT, PS/2)
  223.  
  224. 0043    r/w    PIT  mode port, control word register for counters 0-2
  225.          bit 7-6 = 00  counter 0 select
  226.              = 01  counter 1 select      (not PS/2)
  227.              = 10  counter 2 select
  228.          bit 5-4 = 00  counter latch command
  229.              = 01  read/write counter bits 0-7 only
  230.              = 10  read/write counter bits 8-15 only
  231.              = 11  read/write counter bits 0-7 first, then 8-15
  232.          bit 3-1 = 000 mode 0 select
  233.              = 001 mode 1 select - programmable one shot
  234.              = x10 mode 2 select - rate generator
  235.              = x11 mode 3 select - square wave generator
  236.              = 100 mode 4 select - software triggered strobe
  237.              = 101 mode 5 select - hardware triggered strobe
  238.          bit 0     = 0   binary counter 16 bits
  239.              = 1   BCD counter
  240.  
  241. 0044    r/w    PIT  counter 3 (PS/2, EISA)
  242.         used as fail-safe timer. generates an NMI on time out.
  243.         for user generated NMI see at 0462.
  244.  
  245. 0047    w    PIT  control word register counter 3 (PS/2, EISA)
  246.          bit 7-6 = 00  counter 3 select
  247.              = 01  reserved
  248.              = 10  reserved
  249.              = 11  reserved
  250.          bit 5-4 = 00  counter latch command counter 3
  251.              = 01  read/write counter bits 0-7 only
  252.              = 1x  reserved
  253.          bit 3-0 = 00
  254.  
  255. 0048        EISA
  256. 004A        EISA
  257. 004B        EISA
  258.  
  259. -------------------------------------------------------------------------------
  260. 0060-006F ----    Keyboard controller (8041, 8042)  (or PPI (8255) on XT)
  261.          XT uses 60-63,     AT uses 60-64
  262.  
  263.          AT keyboard controller input port bit definitions
  264.           bit 7      = 0  keyboard inhibited
  265.           bit 6      = 0  CGA, else MDA
  266.           bit 5      = 0  manufacturing jumper installed
  267.           bit 4      = 0  system RAM 512K, else 640K
  268.           bit 3-0      reserved
  269.  
  270.          AT keyboard controller input port bit definitions by Compaq
  271.           bit 7      = 0  security lock is locked
  272.           bit 6      = 0  Compaq dual-scan display, 1=non-Compaq display
  273.           bit 5      = 0  system board dip switch 5 is ON
  274.           bit 4      = 0  auto speed selected, 1=high speed selected
  275.           bit 3      = 0  slow (4MHz), 1 = fast (8MHz)
  276.           bit 2      = 0  80287 installed, 1= no NDP installed
  277.           bit 1-0      reserved
  278.  
  279.          AT keyboard controller output port bit definitions
  280.           bit 7 =    keyboard data output
  281.           bit 6 =    keyboard clock output
  282.           bit 5 = 0  input buffer full
  283.           bit 4 = 0  output buffer empty
  284.           bit 3 =    reserved (see note)
  285.           bit 2 =    reserved (see note)
  286.           bit 1 =    gate A20
  287.           bit 0 =    system reset
  288.         Note:    bits 2 and 3 are the turbo speed switch or password
  289.               lock on Award/AMI/Phoenix BIOSes.  These bits make
  290.               use of nonstandard keyboard controller BIOS
  291.               functionality to manipulate
  292.                 pin 23 (8041 port 22) as turbo switch for AWARD
  293.                 pin 35 (8041 port 15) as turbo switch/pw lock for
  294.                 Phoenix
  295.  
  296. 0060    r/w    KB controller data port or keyboard input buffer (ISA, EISA)
  297.         should only be read from after status port bit0 = 1
  298.         should only be written to if status port bit1 = 0
  299.         keyboard commands (data goes also to port 0060):
  300.          ED    dbl   set/reset mode indicators Caps Num Scrl
  301.          EE    sngl  diagnostic echo. returns EE.
  302.          EF-F2    sngl  NOP (No OPeration). reserved for future use
  303.          F3    dbl   set typematic rate/delay
  304.          F4    sngl  enable keyboard
  305.          F5    sngl  disable keyboard. set default parameters
  306.          F6    sngl  set default parameters
  307.          F7-FD    sngl  NOP
  308.          FE    sngl  resend last scancode
  309.          FF    sngl  perform internal power-on reset function
  310.  
  311.  
  312. 0060    r    KeyBoard or KB controller data output buffer (via PPI on XT)
  313.  
  314. 0061    w    KB controller port B (ISA, EISA)   (PS/2 port A is at 0092)
  315.         system control port for compatibility with 8255
  316.          bit 7    (1= IRQ 0 reset )
  317.          bit 6-4    reserved
  318.          bit 3 = 1  channel check enable
  319.          bit 2 = 1  parity check enable
  320.          bit 1 = 1  speaker data enable
  321.          bit 0 = 1  timer 2 gate to speaker enable
  322.  
  323. 0061    r    KB controller port B control register (ISA, EISA)
  324.         system control port for compatibility with 8255
  325.          bit 7     parity check occurred
  326.          bit 6     channel check occurred
  327.          bit 5     mirrors timer 2 output condition
  328.          bit 4     toggles with each refresh request
  329.          bit 3     channel check status
  330.          bit 2     parity check status
  331.          bit 1     speaker data status
  332.          bit 0     timer 2 gate to speaker status
  333.  
  334. 0061    w    PPI  Programmable Peripheral Interface 8255 (XT only)
  335.         system control port
  336.          bit 7 = 1  clear keyboard
  337.          bit 6 = 0  hold keyboard clock low
  338.          bit 5 = 0  I/O check enable
  339.          bit 4 = 0  RAM parity check enable
  340.          bit 3 = 0  read low switches
  341.          bit 2        reserved, often used as turbo switch
  342.          bit 1 = 1  speaker data enable
  343.          bit 0 = 1  timer 2 gate to speaker enable
  344.  
  345. 0062    r/w    PPI (XT only)
  346.          bit 7 = 1  RAM parity check
  347.          bit 6 = 1  I/O channel check
  348.          bit 5 = 1  timer 2 channel out
  349.          bit 4        reserved 
  350.          bit 3 = 1  system board RAM size type 1
  351.          bit 2 = 1  system board RAM size type 2
  352.          bit 1 = 1  coprocessor installed
  353.          bit 0 = 1  loop in POST
  354.  
  355. 0063    r/w    PPI (XT only) command mode register  (read dipswitches)
  356.          bit 7-6 = 00  1 diskette drive
  357.              = 01  2 diskette drives
  358.              = 10  3 diskette drives
  359.              = 11  4 diskette drives
  360.          bit 5-4 = 00  reserved
  361.              = 01  40*25 color (mono mode)
  362.              = 10  80*25 color (mono mode)
  363.              = 11  MDA 80*25
  364.          bit 3-2 = 00  256K (using 256K chips)
  365.              = 01  512K (using 256K chips)
  366.              = 10  576K (using 256K chips)
  367.              = 11  640K (using 256K chips)
  368.          bit 3-2 = 00  64K  (using 64K chips)
  369.              = 01  128K (using 64K chips)
  370.              = 10  192K (using 64K chips)
  371.              = 11  256K (using 64K chips)
  372.          bit 1-0       reserved
  373.  
  374. 0064    r    KB controller read status (ISA, EISA)
  375.          bit 7 = 1 parity error on transmission from keyboard
  376.          bit 6 = 1 receive timeout
  377.          bit 5 = 1 transmit timeout
  378.          bit 4 = 0 keyboard inhibit
  379.          bit 3 = 1 data in input register is command
  380.              0 data in input register is data
  381.          bit 2 = 0 system flag status 0=power up or reset 1=selftest OK
  382.          bit 1 = 1 input buffer full (input 60/64 has data for 8042)
  383.          bit 0 = 1 output buffer full (output 60 has data for system)
  384.  
  385. 0064    r     KB controller read status by Compaq
  386.          bit 7 = 1 parity error detected (11-bit format only). If an
  387.                error is detected, a Resend command is sent to the
  388.                keyboard once only, as an attempt to recover.
  389.          bit 6 = 1 receive timeout. transmission didn't finish in 2mS.
  390.          bit 5 = 1 transmission timeout error
  391.                 bit 5,6,7  cause
  392.                 1 0 0  No clock
  393.                 1 1 0  Clock OK, no response
  394.                 1 0 1  Clock OK, parity error
  395.          bit 4 = 0 security lock engaged
  396.          bit 3 = 1 data in OUTPUT register is command
  397.              0 data in OUTPUT register is data
  398.          bit 2 = 0 system flag status 0=power up or reset 1=soft reset
  399.          bit 1 = 1 input buffer full (output 60/64 has data)
  400.          bit 0 = 0 no new data in buffer (input 60 has data)
  401.  
  402. 0064    w    KB controller input buffer (ISA, EISA)
  403.         KB controller commands (data goes to port 0060):
  404.          20    read  read byte zero of internal RAM, this is the
  405.                   last KB command send to 8041
  406.               Compaq  Put current command byte on port 0060
  407.                 command structure:
  408.                 bit 7    reserved
  409.                 bit 6 = 1 convert KB codes to 8086 scan codes
  410.                 bit 5 = 0 use 11-bit codes, 1=use 8086 codes
  411.                 bit 4 = 0 enable keyboard, 1=disable keyboard
  412.                 bit 3 = 1 ignore security lock state
  413.                 bit 2      this bit goes into bit2 status reg.
  414.                 bit 1 = 0 reserved
  415.                 bit 0 = 1 generate int. when output buffer full
  416.          21-3F    read  reads the byte specified in the lower 5 bits of
  417.                   the command in the 8041's internal RAM
  418.          60-7F    dbl   writes the data byte to the address specified in
  419.                   the 5 lower bits of the command.
  420.  
  421.                   Alternate description KB IO command 60 summary:
  422.                    bit7 = 0 reserved
  423.                    bit6 =    IBM PC compatibility mode
  424.                    bit5 =    IBM PC mode
  425.                    bit4 =    disable kb
  426.                    bit3 =    inhibit override
  427.                    bit2 =    system flag
  428.                    bit1 = 0 reserved
  429.                    bit0 =    enableoutput buffer full interrupt
  430.  
  431.          60   Compaq  Load new command (60 to [64], command to [60])
  432.          A1   Compaq  unknown speedfunction ??
  433.          A2   Compaq  unknown speedfunction ??
  434.          A3   Compaq  Enable system speed control
  435.          A4   Compaq  Toggle speed
  436.          A5   Compaq  Special reed. the 8042 places the real values
  437.                   of port 2 except for bits 4 and 5 wich are given
  438.                   a new definition in the output buffer. No output
  439.                   buffer full is generated.
  440.                 if bit 5 = 0, a 9-bit keyboard is in use
  441.                 if bit 5 = 1, an 11-bit keyboard is in use
  442.                 if bit 4 = 0, outp-buff-full interrupt disabled
  443.                 if bit 4 = 1, output-buffer-full int. enabled
  444.          A6   Compaq  unknown speedfunction ??
  445.          AA    sngl  initiate self-test. will return 55 to data port
  446.               Compaq  Initializes ports 1 and 2, disables the keyboard
  447.                   and clears the buffer pointers. It then places
  448.                   55 in the output buffer.
  449.          AB    sngl  initiate interface test. result values:
  450.                    0 = no error
  451.                    1 = keyboard clock line stuck low
  452.                    2 = keyboard clock line stuck high
  453.                    3 = keyboard data line is stuck low
  454.                    4 = keyboard data line stuck high
  455.               Compaq   5 = Compaq diagnostic feature
  456.          AC    read  diagnostic dump. the contents of the 8041 RAM,
  457.                   output port, input port, status word are send.
  458.          AD    sngl  disable keyboard (sets bit 4 of commmand byte)
  459.          AE    sngl  enable keyboard  (resets bit 4 of commmand byte)
  460.          AF    AWARD Enhanced Command: read keyboard version
  461.          C0    read  read input port
  462.               Compaq  Places status of input port in output buffer. use
  463.                   this command only when the output buffer is empty
  464.          C1    AWARD Enhanced Command: poll input port Low nibble
  465.          C2    AWARD Enhanced Command: poll input port High nibble
  466.          D0    read  read output port
  467.               Compaq  Places byte in output port in output buffer. use
  468.                   this command only when the output buffer is empty
  469.          D1    dbl   write output port. next byte written  to 0060
  470.                   will be written to the 8042 output port; the
  471.                   original IBM AT and many compatibles use bit 1 of
  472.                   the output port to control the A20 gate
  473.               Compaq  The system speed bits are not set by this command
  474.                   use commands A1-A6 (!) for speed functions.
  475.          D2    AWARD Enhanced Command: write keyboard output buffer
  476.          D3    AWARD Enhanced Command: write pointing device out.buf.
  477.          D4    AWARD Enhanced Command: write to auxiliary device
  478.          DD    sngl  disable address line A20 (HP Vectra only???)
  479.                   default in Real Mode
  480.          DF    sngl  enable address line A20 (HP Vectra only???)
  481.          E0    read  read test inputs. bit0 = T0 and bit1 = T1
  482.               Compaq  T0=keyboard clock stream     T1=KB data stream
  483.          Exxx    AWARD Enhanced Command: active output port
  484.          ED   Compaq  This is a two part command to control the state
  485.                   of the NumLock CpasLock and ScrollLock LEDs
  486.                   The second byte contains the state to set LEDs.
  487.                 bit 7-3       reserved. should be set to 0.
  488.                 bit 2 = 0  Caps Lock LED off
  489.                 bit 1 = 0  Num Lock LED off
  490.                 bit 0 = 0  Scroll Lock LED off
  491.          F0-FF    sngl  pulse output port low for 6 microseconds.
  492.                   bits 0-3 contain the mask for the bits to be
  493.                   pulsed. a bit is pulsed if its mask bit is zero.
  494.                   bit0=system reset. Don't set to zero. Pulse only!
  495.  
  496. general note:     Keyboard controllers are widely different from each other.
  497.          You cannot generally exchange them between different machines.
  498. note on Award:     Derived from Award's Enhanced KB controller advertising sheet.
  499. note on Compaq:     Derived from the Compaq Deskpro 386 Tech. Ref. Guide.
  500.  
  501. 0065    r    communications port (Olivetti M24)
  502.  
  503. 0068    w    HP-Vectra  control buffer (HP commands)
  504. 0069    r    HP-Vectra  SVC (keyboard request SerViCe port)
  505. 006A    w    HP-Vectra  clear processing, done
  506.  
  507. 006C-006F    HP-HIL    (Human Interface Link = async. serial inputs 0-7)
  508.  
  509. -------------------------------------------------------------------------------
  510. 0065      ----    ???
  511.  
  512. 0065    r/w    ???
  513.         bit 2: A20 gate control (set = A20 enabled, clear = disabled)
  514.  
  515. -------------------------------------------------------------------------------
  516. 0070-007F ----    CMOS RAM/RTC (Real Time Clock  MC146818)
  517.  
  518. 0070    w    CMOS RAM index register port (ISA, EISA)
  519.          bit 7     = 1  NMI disabled
  520.              = 0  NMI enabled
  521.          bit 6-0      CMOS RAM index (64 bytes, sometimes 128 bytes)
  522.  
  523.         any write to 0070 should be followed by an action to 0071
  524.         or the RTC wil be left in an unknown state.
  525.  
  526. 0071    r/w    CMOS RAM data port (ISA, EISA)
  527.         RTC registers:
  528.         00    current second in BCD
  529.         01    alarm second   in BCD
  530.         02    current minute in BCD
  531.         03    alarm minute   in BCD
  532.         04    current hour in BCD
  533.         05    alarm hour   in BCD
  534.         06    day of week  in BCD
  535.         07    day of month in BCD
  536.         08    month in BCD
  537.         09    year  in BCD (00-99)
  538.         0A    status register A
  539.                bit 7 = 1  update in progress
  540.                bit 6-4 divider that identifies the time-based
  541.                 frequency
  542.                bit 3-0 rate selection output  frequency and int. rate
  543.         0B    status register B
  544.                bit 7 = 0  run
  545.                  = 1  halt
  546.                bit 6 = 1  enable periodic interrupt
  547.                bit 5 = 1  enable alarm interrupt
  548.                bit 4 = 1  enable update-ended interrupt
  549.                bit 3 = 1  enable square wave interrupt
  550.                bit 2 = 1  calendar is in binary format
  551.                  = 0  calendar is in BCD format
  552.                bit 1 = 1  24-hour mode
  553.                  = 0  12-hour mode
  554.                bit 0 = 1  enable daylight savings time. only in USA.
  555.                   useless in Europe. Some DOS versions clear
  556.                   this bit when you use the DAT/TIME command.
  557.         0C    status register C
  558.                bit 7 =      interrupt request flag
  559.                bit 6 =      peridoc interrupt flag
  560.                bit 5 =      alarm interrupt flag
  561.                bit 4 =      update interrupt flag
  562.                bit 3-0      reserved
  563.         0D    status register D
  564.                bit 7 = 1  Real-Time Clock has power
  565.                bit 6-0      reserved
  566.         0E    diagnostics status byte
  567.                bit 7 = 0  RTC lost power
  568.                bit 6 = 1  CMOS RAM checksum bad
  569.                bit 5 = 1  invalid configuration information at POST
  570.                bit 4 = 1  memory size error at POST
  571.                bit 3 = 1  fixed disk/adapter failed initialization
  572.                bit 2 = 1  CMOS RAM time found invalid
  573.                bit 1 = 1  adapters do not match configuration (EISA)
  574.                bit 0 = 1  time out reading an adapter ID (EISA)
  575.         0F    shutdown status byte
  576.                00 = normal execution of POST
  577.                01 = chip set initialization for real mode reentry
  578.                04 = jump to bootstrap code
  579.                05 = issue an EOI an JMP to Dword ptr at 40:67
  580.                06 = JMP to Dword ptrv at 40:67 without EOI
  581.                07 = return to INT15/87 (block move)
  582.                08 = return to POST memory test
  583.                09 = return to INT15/87 (block move)
  584.                0A = JMP to Dword ptr at 40:67 without EOI
  585.                0B = return IRETS through 40:67
  586.         10    diskette drive type for A: and B:
  587.                bit 7-4    drive type of drive 0
  588.                bit 3-0    drive type of drive 1
  589.                    = 0000       no drive
  590.                    = 0001       360K
  591.                    = 0010       1M2
  592.                    = 0011       720K
  593.                    = 0100       1M44
  594.                    = 0101-1111 reserved
  595.         11    reserved / AMI Extended CMOS setup (AMI Hi-Flex BIOS)
  596.                bit 7   = 1     Typematic Rate Programming
  597.                bit 6-5 = 00    Typematic Rate Delay 250 mSec
  598.                bit 4-0 = 00011 Typematic Rate 21.8 Chars/Sec
  599.         12    fixed disk drive type for drive 0 and drive 1
  600.                bit 7-4    drive type of drive 0
  601.                bit 3-0    drive type of drive 1
  602.                 if either of the nibbles equals 0F, then bytes
  603.                 19 an 1A are valid
  604.         13    reserved / AMI Extended CMOS setup (AMI Hi-Flex BIOS)
  605.                bit 7 = 1  Mouse Support Option
  606.                bit 6 = 1  Above 1 MB Memory Test disable
  607.                bit 5 = 1  Memory Test Tick Sound disable
  608.                bit 4 = 1  Memory Parity Error Check enable
  609.                bit 3 = 1  Hit <ESC> Message Display disabled
  610.                bit 2 = 1  Hard Disk Type 47 Data Area at address 0:300
  611.                bit 1 = 1  Wait For <F1> If Any Error enabled
  612.                bit 0 = 1  System Boot Up Num Lock is On
  613.         14    equipment byte
  614.                bit 7-6     diskette drives installed
  615.                    = 00  1 drive installed
  616.                    = 01  2 drives installed
  617.                    = 10  reserved
  618.                    = 11  reserved
  619.                bit 5-4     primary display
  620.                    = 00  adapter card with option ROM 
  621.                    = 01  40*25 color
  622.                    = 10  80*25 color
  623.                    = 11  monochrome
  624.                bit 3-2     reserved
  625.                bit 1   = 1  coprocessor installed (non-Weitek)
  626.                bit 0        diskette drive avaliable for boot
  627.         15    LSB of systemn base memory in Kb
  628.         16    MSB of systemn base memory in Kb
  629.         17    LSB of total extended memory in Kb
  630.         18    MSB of total extended memory in Kb
  631.         19    drive C extension byte
  632.         1A    drive D extension byte
  633.         1B-27 reserved
  634.         1B/1C word to 82335 RC1 roll compare register at [24]
  635.             (Phoenix)
  636.         1D/1E word to 82335 RC2 roll compare register at [26]
  637.             (Phoenix)
  638.         28    HP-Vectra checksum over 29-2D
  639.         29-2D reserved
  640.         29/2A word to Intel 82335 CC0 compare register at
  641.             [28](Phoenix)
  642.         2B/2C word send to 82335 CC1 compare register at [2A]
  643.             (Phoenix)
  644.         2D    AMI Extended CMOS setup (AMI Hi-Flex BIOS)
  645.               (Phoenix BIOS checks for the values AA or CC)
  646.                bit 7 = 1  Weitek Processor Absent
  647.                bit 6 = 1  Floppy Drive Seek At Boot disabled
  648.                bit 5 = 1  System Boot Up Sequence  C:, A:
  649.                bit 4 = 1  System Boot Up Speed is high
  650.                bit 3 = 1  Cache Memory enabled
  651.                bit 2 = 1  Internal Cache Memory     <1>
  652.                bit 1-0      reserved
  653.         2E    CMOS MSB checksum over 10-2D
  654.         2F    CMOS LSB checksum over 10-2D
  655.         30    LSB of extended memory found above 1Mb at POST
  656.         31    MSB of extended memory found above 1Mb at POST
  657.         32    date century in BCD
  658.         33    information flags
  659.                bit4 = bit4 from CPU register CR0   (Phoenix)
  660.                   this bit is only known as INTEL RESERVED
  661.         34-3F reserved    
  662.         34     bit4 bit5 (Phoenix BIOS)
  663.         3D/3E word to 82335 MCR memory config register at
  664.             [22](Phoenix)
  665.         3D     bit3     base memsize 512/640  (Phoenix)
  666.         3E     bit7 = 1     relocate enable       (Phoenix)
  667.                bit1 = 1     shadow video enable   (Phoenix)
  668.                bit0 = 1     shadow BIOS enable    (Phoenix)
  669.  
  670.  
  671.         User Definable Drive Parameters are also stored in CMOS RAM:
  672.  
  673.         AMI (386sx BIOS 1989) first user definable drive (type 47)
  674.          1B  L cylinders
  675.          1C  H cylinders
  676.          1D  heads
  677.          1E  L Write Precompensation Cylinder
  678.          1F  H Write Precompensation Cylinder
  679.          20  ??
  680.          21  L cylinders parking zone
  681.          22  H cylinders parking zone
  682.          23  sectors
  683.  
  684.         AMI (386sx BIOS 1989) second user definable drive (type 48)
  685.          24  L cylinders
  686.          25  H cylinders
  687.          26  heads
  688.          27  L Write Precompensation Cylinder
  689.          28  H Write Precompensation Cylinder
  690.          29  ??
  691.          2A  L cylinders parking zone
  692.          2B  H cylinders parking zone
  693.          2C  sectors
  694.  
  695.         Phoenix (386BIOS v1.10.03 1988) 1st user definable drv (type48)
  696.          20  L cylinders
  697.          21  H cylinders
  698.          22  heads
  699.          23  L Write Precompensation Cylinder
  700.          24  H Write Precompensation Cylinder
  701.          25  L cylinders parking zone
  702.          26  H cylinders parking zone
  703.          27  sectors
  704.  
  705.         Phoenix (386BIOS v1.10.03 1988) 2nd user definable drv (type49)
  706.         (when PS/2-style password option is not used)
  707.          35  L cylinders
  708.          36  H cylinders
  709.          37  heads
  710.          38  L Write Precompensation Cylinder
  711.          39  H Write Precompensation Cylinder
  712.          3A  L cylinders parking zone
  713.          3B  H cylinders parking zone
  714.          3C  sectors
  715.  
  716. 0074    w    secondary CMOS RAM index (Compaq)
  717.  
  718. 0076    r/w    secondary CMOS RAM (Compaq)
  719.  
  720. 0078        HP-Vectra  Hard Reset: NMI enable/disable
  721.          bit 7 = 0  disable & clear hard reset from HP-HIL controller
  722.                = 1  enable hard reset from HP-HIL controller chip
  723.          bit 6-0    reserved
  724.  
  725. -------------------------------------------------------------------------------
  726. 0078-007F ----    PC radio by CoZet Info Systems
  727.         The I/O address range is dipswitch selectable from:
  728.            038-03F and 0B0-0BF
  729.            078-07F and 0F0-0FF
  730.            138-13F and 1B0-1BF
  731.            178-17F and 1F0-1FF
  732.            238-23F and 2B0-2BF
  733.            278-27F and 2F0-2FF
  734.            338-33F and 3B0-3BF
  735.            378-37F and 3F0-3FF
  736.         All of these addresses show a readout of FF in initial state.
  737.         Once started, all of the addresses show     FB, whatever might
  738.         happen.
  739.  
  740. -------------------------------------------------------------------------------
  741. 007C-007D ----    HP-Vectra  PIC 3   (Programmable Interrupt Controller 8259)
  742.         cascaded to first controller.
  743.         used for keyboard and input device interface.
  744. 007C    r/w    HP-Vectra  PIC 3  see at 0020  PIC 1
  745. 007D    r/w    HP-Vectra  PIC 3  see at 0021  PIC 1
  746.  
  747. -------------------------------------------------------------------------------
  748. 0080    w    Manufacturing Diagnostics port
  749.  
  750. -------------------------------------------------------------------------------
  751. 0080-008F ----    DMA page registers   (74612)
  752.  
  753. 0080    r/w    extra page register (temporary storage)
  754. 0081    r/w    DMA channel 2 address byte 2
  755. 0082    r/w    DMA channel 3 address byte 2
  756. 0083    r/w    DMA channel 1 address byte 2
  757. 0084    r/w    extra page register
  758. 0085    r/w    extra page register
  759. 0086    r/w    extra page register
  760. 0087    r/w    DMA channel 0 address byte 2
  761. 0088    r/w    extra page register
  762. 0089    r/w    DMA channel 6 address byte 2
  763. 0089    r/w    DMA channel 7 address byte 2
  764. 0089    r/w    DMA channel 5 address byte 2
  765. 008C    r/w    extra page register
  766. 008D    r/w    extra page register
  767. 008E    r/w    extra page register
  768. 008F    r/w    DMA refresh page register
  769.  
  770. -------------------------------------------------------------------------------
  771. 0090-009F ----    PS/2 POS (Programmable Option Select)
  772.  
  773. 0090        Central arbitration control port
  774. 0091        Card selection feedback
  775.  
  776. 0092    r/w    PS/2 system control port A  (port B is at 0061)
  777.          bit 7-6   any bit set to 1 turns activity light on
  778.          bit 5       reserved
  779.          bit 4 = 1 watchdog timout occurred 
  780.          bit 3 = 0 RTC/CMOS security lock (on password area) unlocked
  781.                = 1 CMOS locked (done by POST)
  782.          bit 2       reserved
  783.          bit 1 = 1 indicates A20 active
  784.          bit 0 = 0 system reset or write
  785.              1 pulse alternate reset pin (alternate CPU reset)
  786.  
  787. 0094    w    system board enable/setup register
  788.          bit 7 = 1  enable functions
  789.                = 0  setup functions
  790.          bit 5 = 1  enables VGA
  791.                = 0  setup VGA
  792.  
  793. 0095        reserved
  794.  
  795. 0096    w    adapter enable /setup register
  796.          bit 3 = 1  setup adapters
  797.                = 0  enable registers
  798.  
  799. 0097        reserved
  800.  
  801. -------------------------------------------------------------------------------
  802. 00A0-00AF ----    PIC 2    (Programmable Interrupt Controller 8259)
  803.  
  804. 00A0    r/w    NMI mask register (XT)
  805.  
  806. 00A0    r/w    PIC 2  same as 0020 for PIC 1
  807. 00A1    r/w    PIC 2  same as 0021 for PIC 1 except for OCW1:
  808.          bit 7 = 0  reserved
  809.          bit 6 = 0  enable fixed disk interrupt
  810.          bit 5 = 0  enable coprocessor exception interrupt
  811.          bit 4 = 0  enable mouse interrupt
  812.          bit 3 = 0  reserved
  813.          bit 2 = 0  reserved
  814.          bit 1 = 0  enable redirect cascade
  815.          bit 0 = 0  enable real-time clock interrupt
  816.  
  817. -------------------------------------------------------------------------------
  818. 00B0-00BF ----    PC radio by CoZet Info Systems
  819.         The I/O address range is dipswitch selectable from:
  820.            038-03F and 0B0-0BF
  821.            078-07F and 0F0-0FF
  822.            138-13F and 1B0-1BF
  823.            178-17F and 1F0-1FF
  824.            238-23F and 2B0-2BF
  825.            278-27F and 2F0-2FF
  826.            338-33F and 3B0-3BF
  827.            378-37F and 3F0-3FF
  828.         All of these addresses show a readout of FF in initial state.
  829.         Once started, all of the addresses show     FB, whatever might
  830.         happen.
  831.  
  832. -------------------------------------------------------------------------------
  833. 00C0      ----    TI  SN746496 programmable tone/noise generator    PCjr
  834.  
  835. -------------------------------------------------------------------------------
  836. 00C0-00DF ----    DMA 2    (second Direct Memory Access controller 8237)
  837.  
  838. 00C0    r/w    DMA channel 4 memory address bytes 1 and 0 (low) (ISA, EISA)
  839. 00C2    r/w    DMA channel 4 transfer count bytes 1 and 0 (low) (ISA, EISA)
  840. 00C4    r/w    DMA channel 5 memory address bytes 1 and 0 (low) (ISA, EISA)
  841. 00C6    r/w    DMA channel 5 transfer count bytes 1 and 0 (low) (ISA, EISA)
  842. 00C8    r/w    DMA channel 6 memory address bytes 1 and 0 (low) (ISA, EISA)
  843. 00CA    r/w    DMA channel 6 transfer count bytes 1 and 0 (low) (ISA, EISA)
  844. 00CC    r/w    DMA channel 7 memory address byte 0 (low), then 1 (ISA, EISA)
  845. 00CE    r/w    DMA channel 7 transfer count byte 0 (low), then 1 (ISA, EISA)
  846.  
  847. 00D0    r    DMA channel 4-7 status register (ISA, EISA)
  848.          bit 7 = 1  channel 7 request
  849.          bit 6 = 1  channel 6 request
  850.          bit 5 = 1  channel 5 request
  851.          bit 4 = 1  channel 4 request
  852.          bit 3 = 1  terminal count on channel 7
  853.          bit 2 = 1  terminal count on channel 6
  854.          bit 1 = 1  terminal count on channel 5
  855.          bit 0 = 1  terminal count on channel 4
  856.  
  857. 00D0    w    DMA channel 4-7 command register (ISA, EISA)
  858.          bit 7 = 1  DACK sense active high
  859.                = 0  DACK sense active low
  860.          bit 6 = 1  DREQ sense active high
  861.                = 0  DREQ sense active low
  862.          bit 5 = 1  extended write selection
  863.                = 0  late write selection
  864.          bit 4 = 1  rotating priority
  865.                = 0  fixed priority
  866.          bit 3 = 1  compressed timing
  867.                = 0  normal timing
  868.          bit 2 = 0  enable controller
  869.          bit 1 = 1  enable memory-to-memory transfer
  870.          bit 0        .....
  871.  
  872. 00D2    w    DMA channel 4-7 write request register (ISA, EISA)
  873.  
  874. 00D4    w    DMA channel 4-7 write single mask register (ISA, EISA)
  875.          bit 7-3      reserved
  876.          bit 2     = 0  clear mask bit
  877.              = 1  set mask bit
  878.          bit 1-0 = 00 channel 4 select
  879.              = 01 channel 5 select
  880.              = 10 channel 6 select
  881.              = 11 channel 7 select
  882.  
  883. 00D6    w    DMA channel 4-7 mode register (ISA, EISA)
  884.          bit 7-6 = 00  demand mode
  885.              = 01  single mode
  886.              = 10  block mode
  887.              = 11  cascade mode
  888.          bit 5     = 0   address increment select
  889.              = 1   address decrement select
  890.          bit 4     = 0   autoinitialisation disable
  891.              = 1   autoinitialisation enable
  892.          bit 3-2 = 00  verify operation
  893.              = 01  write to memory
  894.              = 10  read from memory
  895.              = 11  reserved
  896.          bit 1-0 = 00  channel 4 select
  897.              = 01  channel 5 select
  898.              = 10  channel 6 select
  899.              = 11  channel 7 select
  900.  
  901. 00D8    w    DMA channel 4-7 clear byte pointer flip-flop (ISA, EISA)
  902. 00DA    r    DMA channel 4-7 read temporary register (ISA, EISA)
  903. 00DA    w    DMA channel 4-7 master clear (ISA, EISA)
  904. 00DC    w    DMA channel 4-7 clear mask register (ISA, EISA)
  905. 00DE    w    DMA channel 4-7 write mask register (ISA, EISA)
  906.  
  907. 00E0        split address register, memory encoding registers PS/2m80 only
  908.  
  909. -------------------------------------------------------------------------------
  910. 00F0-00F5 ----    PCjr Disk Controller
  911.  
  912. 00F0        disk controller
  913. 00F2        disk controller control port
  914. 00F4        disk controller status register
  915. 00F5        disk controller data port
  916.  
  917. -------------------------------------------------------------------------------
  918. 00F0-00FF ----    coprocessor (8087..80387)
  919.  
  920. 00F0        math coprocessor clear busy latch
  921. 00F1        math coprocessor reset
  922. 00F8-00FF    math coprocessor
  923.  
  924. -------------------------------------------------------------------------------
  925. 00F9-00FF ----    PC radio by CoZet Info Systems
  926.         The I/O address range is dipswitch selectable from:
  927.            038-03F and 0B0-0BF
  928.            078-07F and 0F0-0FF
  929.            138-13F and 1B0-1BF
  930.            178-17F and 1F0-1FF
  931.            238-23F and 2B0-2BF
  932.            278-27F and 2F0-2FF
  933.            338-33F and 3B0-3BF
  934.            378-37F and 3F0-3FF
  935.         All of these addresses show a readout of FF in initial state.
  936.         Once started, all of the addresses show     FB, whatever might
  937.         happen.
  938.  
  939. -------------------------------------------------------------------------------
  940. 0100-010F ----    CompaQ Tape drive adapter. alternate address at 0300
  941.  
  942. -------------------------------------------------------------------------------
  943. 0100-0107 ----    PS/2 POS (Programmable Option Select)
  944.  
  945. 0100    r    POS register 0    Low adapter ID byte
  946. 0101    r    POS register 1    High adapter ID byte
  947.  
  948. 0102    r/w    POS register 2    option select data byte 1
  949.          bit 0 is card enable (CDEN)
  950.  
  951. 0103    r/w    POS register 3    option select data byte 2
  952. 0104    r/w    POS register 4    option select data byte 3
  953. 0105    r/w    POS register 5    option select data byte 4
  954.          bit 7    channel active (-CHCK)
  955.          bit 6    channel status
  956.  
  957. 0106    r/w    POS register 6    Low subaddress extension
  958. 0107    r/w    POS register 7    High subaddress extension
  959.  
  960. -------------------------------------------------------------------------------
  961. 0108-010F ----    8 digit LED info panel on IBM PS/2
  962.  
  963. 010F    w    leftmost character on display
  964. 010E    w    second character
  965. ....    w
  966. 0108    w    eighth character
  967.  
  968. -------------------------------------------------------------------------------
  969. 0130-013F ----    CompaQ SCSI adapter. alternate address at 0330
  970.  
  971. -------------------------------------------------------------------------------
  972. 0130-0133 ----    Adaptec 154xB/154xC SCSI adapter.
  973.         alternate address at 0134, 0230, 0234, 0330 and 0334
  974.  
  975. -------------------------------------------------------------------------------
  976. 0134-0137 ----    Adaptec 154xB/154xC SCSI adapter.
  977.         alternate address at 0130, 0230, 0234, 0330 and 0334
  978.  
  979. -------------------------------------------------------------------------------
  980. 0138-013F ----    PC radio by CoZet Info Systems
  981.         The I/O address range is dipswitch selectable from:
  982.            038-03F and 0B0-0BF
  983.            078-07F and 0F0-0FF
  984.            138-13F and 1B0-1BF
  985.            178-17F and 1F0-1FF
  986.            238-23F and 2B0-2BF
  987.            278-27F and 2F0-2FF
  988.            338-33F and 3B0-3BF
  989.            378-37F and 3F0-3FF
  990.         All of these addresses show a readout of FF in initial state.
  991.         Once started, all of the addresses show     FB, whatever might
  992.         happen.
  993.  
  994. -------------------------------------------------------------------------------
  995. 0140-014F ----    SCSI (alternate Small Computer System Interface) adapter
  996.         (1st at 0340-034F)
  997.  
  998. -------------------------------------------------------------------------------
  999. 0140-0157 ----    RTC (alternate Real Time Clock for XT)     (1st at 0340-0357)
  1000.  
  1001. -------------------------------------------------------------------------------
  1002. 0170-0177 ----    HDC 2    (2nd Fixed Disk Controller)   same as 01Fx (ISA, EISA)
  1003.  
  1004. -------------------------------------------------------------------------------
  1005. 0178-017F ----    PC radio by CoZet Info Systems
  1006.         The I/O address range is dipswitch selectable from:
  1007.            038-03F and 0B0-0BF
  1008.            078-07F and 0F0-0FF
  1009.            138-13F and 1B0-1BF
  1010.            178-17F and 1F0-1FF
  1011.            238-23F and 2B0-2BF
  1012.            278-27F and 2F0-2FF
  1013.            338-33F and 3B0-3BF
  1014.            378-37F and 3F0-3FF
  1015.         All of these addresses show a readout of FF in initial state.
  1016.         Once started, all of the addresses show     FB, whatever might
  1017.         happen.
  1018.  
  1019. -------------------------------------------------------------------------------
  1020. 01E8-01EF ----    System Control. Laptop chipset: Headland HL21 & Acer M5105
  1021.  
  1022. 01ED    r/w    select internal register. Data to/from 01EF
  1023. 01EE    r
  1024. 01EF    r/w    reg.
  1025.         5  = 1000xxxx  for low CPU clock speed (4MHz on Morse/Mitac)
  1026.            = 0xxxxxxx  for high CPU clock speed (16MHz on Morse/Mitac)
  1027.  
  1028. -------------------------------------------------------------------------------
  1029. 01F0-01F7 ----    HDC 1    (1st Fixed Disk Controller)   same as 017x (ISA, EISA)
  1030.  
  1031. 01F0    r/w    data register
  1032.  
  1033. 01F1    r    error register
  1034.         diagnostic mode errors:
  1035.          bit 7-3    reserved
  1036.          bit 2-1 = 001    no error detected
  1037.              = 010    formatter device error
  1038.              = 011    sector buffer error
  1039.              = 100    ECC circuitry error
  1040.              = 101    controlling microprocessor error
  1041.          operation mode:
  1042.           bit 7     = 1  bad block detected
  1043.              = 0  block OK
  1044.           bit 6     = 1  uncorrectable ECC error
  1045.              = 0  no error
  1046.           bit 5          reserved
  1047.           bit 4     = 1  ID found
  1048.              = 0  ID not found
  1049.           bit 3          reserved
  1050.           bit 2     = 1  command completed
  1051.              = 0  command aborted
  1052.           bit 1     = 1  track 000 not found
  1053.              = 0  track 000 found
  1054.           bit 0     = 1  DAM not found
  1055.              = 0  DAM found (CP-3022 always 0)
  1056.  
  1057. 01F1    w    WPC/4  (Write Precompensation Cylinder divided by 4)
  1058.  
  1059. 01F2    r/w    sector count
  1060. 01F3    r/w    sector number
  1061. 01F4    r/w    cylinder low
  1062. 01F5    r/w    cylinder high
  1063.  
  1064. 01F6    r/w    drive/head
  1065.          bit 7     = 1
  1066.          bit 6     = 0
  1067.          bit 5     = 1
  1068.          bit 4     = 0  drive 0 select
  1069.              = 1  drive 1 select
  1070.          bit 3-0      head select bits
  1071.  
  1072. 01F7    r    status register
  1073.          bit 7 = 1  controller is executing a command
  1074.          bit 6 = 1  drive is ready
  1075.          bit 5 = 1  write fault
  1076.          bit 4 = 1  seek complete
  1077.          bit 3 = 1  sector buffer requires servicing
  1078.          bit 2 = 1  disk data read successfully corrected
  1079.          bit 1 = 1  index - set to 1 each disk revolution
  1080.          bit 0 = 1  previous command ended in an error
  1081.  
  1082. 01F7    w    command register
  1083.         commands:
  1084.          98 E5     check power mode    (IDE)
  1085.          90     execute drive diagnostics
  1086.          50     format track
  1087.          EC     identify drive        (IDE)
  1088.          97 E3     idle            (IDE)
  1089.          95 E1     idle immediate        (IDE)
  1090.          91     initialize drive parameters
  1091.          1x     recalibrate
  1092.          E4     read buffer        (IDE)
  1093.          C8     read DMA with retry    (IDE)
  1094.          C9     read DMA without retry (IDE)
  1095.          C4     read multiplec        (IDE)
  1096.          20     read sectors with retry
  1097.          21     read sectors without retry
  1098.          22     read long with retry
  1099.          23     read long without retry
  1100.          40     read verify sectors with retry
  1101.          41     read verify sectors without retry
  1102.          7x     seek
  1103.          EF     set features        (IDE)
  1104.          C6     set multiple mode    (IDE)
  1105.          99 E6     set sleep mode        (IDE)
  1106.          96 E2     standby        (IDE)
  1107.          94 E0     standby immediate    (IDE)
  1108.          E8     write buffer        (IDE)
  1109.          CA     write DMA with retry    (IDE)
  1110.          CB     write DMA with retry    (IDE)
  1111.          C5     write multiple        (IDE)
  1112.          E9     write same        (IDE)
  1113.          30     write sectors with retry
  1114.          31     write sectors without retry
  1115.          32     write long with retry
  1116.          33     write long without retry
  1117.          3C     write verify        (IDE)
  1118.          9A     vendor unique        (IDE)
  1119.          C0-C3     vendor unique        (IDE)
  1120.          8x     vendor unique        (IDE)
  1121.          F0-F4     EATA standard        (IDE)
  1122.          F5-FF     vendor unique        (IDE)
  1123.  
  1124. -------------------------------------------------------------------------------
  1125. 01F8      ----    ???
  1126.  
  1127. 01F8    r/w    ???
  1128.         bit 0: A20 gate control (set = A20 enabled, clear = disabled)
  1129.  
  1130. -------------------------------------------------------------------------------
  1131. 01F9-01FF ----    PC radio by CoZet Info Systems
  1132.         The I/O address range is dipswitch selectable from:
  1133.            038-03F and 0B0-0BF
  1134.            078-07F and 0F0-0FF
  1135.            138-13F and 1B0-1BF
  1136.            178-17F and 1F0-1FF
  1137.            238-23F and 2B0-2BF
  1138.            278-27F and 2F0-2FF
  1139.            338-33F and 3B0-3BF
  1140.            378-37F and 3F0-3FF
  1141.         All of these addresses show a readout of FF in initial state.
  1142.         Once started, all of the addresses show     FB, whatever might
  1143.         happen.
  1144.  
  1145. -------------------------------------------------------------------------------
  1146. 0200-020F ----    Game port reserved I/O address space  
  1147. 0200-0207 ----    Game port, eight identical addresses on some boards
  1148.  
  1149. 0201    r    read joystick position and status
  1150.          bit 7    status B joystick button 2 / D paddle button
  1151.          bit 6    status B joystick button 1 / C paddle button
  1152.          bit 5    status A joystick button 2 / B paddle button
  1153.          bit 4    status A joystick button 1 / A paddle button
  1154.          bit 3    B joystick Y coordinate       / D paddle coordinate
  1155.          bit 2    B joystick X coordinate       / C paddle coordinate
  1156.          bit 1    A joystick Y coordinate       / B paddle coordinate
  1157.          bit 0    A joystick X coordinate       / A paddle coordinate
  1158.  
  1159.     w    fire joysticks four one-shots
  1160.  
  1161. -------------------------------------------------------------------------------
  1162. 0200-02FF ----    Sunshine uPW48, programmer for EPROM version CPU's 8748/8749
  1163.         (4 bit DIP switch installable in the range 20x-2Fx)
  1164. 0200-0203    adresses of the 8255 on the uPW48
  1165. 0208-020B    adresses of ??? on the uPW48 (all showing zeros)
  1166.  
  1167.  
  1168. -------------------------------------------------------------------------------
  1169. 0210-0217 ----    Expansion unit (XT)
  1170.  
  1171. 0210    w    latch expansion bus data
  1172.     r    verify expansion bus data
  1173. 0211    w    clear wait, test latch
  1174.     r    High byte data address
  1175. 0212    r    Low byte data address
  1176. 0213    w    0=enable,  1=disable expansion unit
  1177. 0214    w    latch data  (receiver card port)
  1178.     r    read data   (receiver card port)
  1179. 0215    r    High byte of address, then Low byte   (receiver card port)
  1180.  
  1181. -------------------------------------------------------------------------------
  1182. 0220-0227 ----    Soundblaster PRO and SSB 16 ASP
  1183.  
  1184. -------------------------------------------------------------------------------
  1185. 0220-022F ----    Soundblaster PRO 2.0
  1186.  
  1187. -------------------------------------------------------------------------------
  1188. 0220-022F ----    Soundblaster PRO 4.0
  1189. 0220    r    left FM status port
  1190. 0220    w    left FM music register address port (index)
  1191. 0221    r/w    left FM music data port
  1192. 0222    r    right FM status port
  1193. 0222    w    right FM music register address port (index)
  1194. 0223    r/w    right FM music data port
  1195. 0224    w    mixer register address port (index)
  1196. 0225    r/w    mixer data port
  1197. 0226    w    DSP reset
  1198. 0228    r    FM music status port
  1199. 0228    w    FM music register address port (index)
  1200. 0229    w    FM music data port
  1201. 022A    r    DSP read data (voice I/O and Midi)
  1202. 022C    w    DSP write data / write command
  1203. 022C    r    DSP write buffer status (bit 7)
  1204. 022E    r    DSP data available status (bit 7)
  1205.  
  1206.         The FM music is accessible on 0388/0389 for compatibility.
  1207.  
  1208. -------------------------------------------------------------------------------
  1209. 0230-0233 ----    Adaptec 154xB/154xC SCSI adapter.
  1210.         alternate address at 0130, 0134, 0230, 0330 and 0334
  1211.  
  1212. -------------------------------------------------------------------------------
  1213. 0234-0237 ----    Adaptec 154xB/154xC SCSI adapter.
  1214.         alternate address at 0130, 0134, 0230, 0330 and 0334
  1215.  
  1216. -------------------------------------------------------------------------------
  1217. 0240-0257 ----    RTC (alternate Real Time Clock for XT)     (1st at 0340-0357)
  1218.         (used by TIMER.COM v1.2 which is the 'standard' timer program)
  1219.  
  1220. -------------------------------------------------------------------------------
  1221. 0258-025F ----    Intel Above Board
  1222.  
  1223. -------------------------------------------------------------------------------
  1224. 0278-027E ----    parallel printer port, same as 0378 and 03BC
  1225.  
  1226. 0278    w    data port
  1227. 0279    r/w    status port
  1228. 027A    r/w    control port
  1229.  
  1230. -------------------------------------------------------------------------------
  1231. 02A0-02A7 ----    Sunshine EW-901BN, EW-904BN
  1232.         EPROM writer card (release 1986) for EPROMs up to 27512
  1233. 02A0-02A3    adresses of the 8255 on the EW-90xBN
  1234.  
  1235.  
  1236. -------------------------------------------------------------------------------
  1237. 02A2-02A3 ----    MSM58321RS clock
  1238.  
  1239. -------------------------------------------------------------------------------
  1240. 02B0-02BF ----    Trantor SCSI adapter
  1241.  
  1242. -------------------------------------------------------------------------------
  1243. 02B0-02DF ----    alternate EGA,    primary EGA at 03C0
  1244.  
  1245. -------------------------------------------------------------------------------
  1246. 02C0-02Cx ----    AST-clock
  1247.  
  1248. -------------------------------------------------------------------------------
  1249. 02E0-02EF ----    GPIB (General Purpose Interface Bus, IEEE 488 interface)
  1250.         (GAB 0 on XT)
  1251. 02E1        GPIB (adapter 0)
  1252. 02E2
  1253. 02E3
  1254.  
  1255. -------------------------------------------------------------------------------
  1256. 02E0-02EF ----    data aquisition     (AT)
  1257.  
  1258. 02E2        data aquisition (adapter 0)
  1259. 02E3        data aquisition (adapter 0)
  1260.  
  1261. -------------------------------------------------------------------------------
  1262. 02E8      ----    S3 86C928 video controller (ELSA Winner 1000)
  1263.  
  1264. -------------------------------------------------------------------------------
  1265. 02E8-02EF ----    serial port, same as 02F8, 03E8 and 03F8
  1266.  
  1267. -------------------------------------------------------------------------------
  1268. 02E8-02EF ----    used by ATI Mach32 video cards (e.g. Graphics Ultra+)
  1269.  
  1270. -------------------------------------------------------------------------------
  1271. 02EA      ----    S3 86C928 video controller (ELSA Winner 1000)
  1272.  
  1273. -------------------------------------------------------------------------------
  1274. 02F8-02FF ----    serial port, same as 02E8, 03E8 and 03F8
  1275.  
  1276. 02F8    w    transmitter holding register
  1277. 02F8    r    receiver buffer register
  1278.     r/w    divisor latch, low byte      when DLAB=1
  1279. 02F9    r/w    divisor latch, high byte  when DLAB=1
  1280.     r/w    interrupt enable register when DLAB=0
  1281. 02FA    r    interrupt identification register
  1282. 02FB    r/w    line control register
  1283. 02FC    r/w    modem control register
  1284. 02FD    r    line status register
  1285. 02FF    r/w    scratch register
  1286.  
  1287. -------------------------------------------------------------------------------
  1288. 0300-0301 ---- Soundblaster 16 ASP MPU-Midi
  1289.  
  1290. -------------------------------------------------------------------------------
  1291. 0300-0303 ---- Panasonic 52x CD-ROM SCSI Miniport
  1292.     Alternate addresses at 0320, 0340, 0360, and 0380
  1293.  
  1294. -------------------------------------------------------------------------------
  1295. 0300-031F ----    prototype cards
  1296.         Periscope hardware debugger
  1297.  
  1298. -------------------------------------------------------------------------------
  1299. 0300-030F ----    Philips CD-ROM player CM50
  1300.  
  1301. -------------------------------------------------------------------------------
  1302. 0300-030F ----    CompaQ Tape drive adapter. alternate address at 0100
  1303.  
  1304. -------------------------------------------------------------------------------
  1305. 0310-031F ----    Philips CD-ROM player CM50
  1306.  
  1307. -------------------------------------------------------------------------------
  1308. 0320-0323 ----    XT HDC 1   (Hard Disk Controller)
  1309.  
  1310. 0320    r/w    data register
  1311.  
  1312. 0321    w    reset controller
  1313.     r    read controller hardware status
  1314.          bit 7-6 = 0
  1315.          bit 5          logical unit number
  1316.          bit 4-2 = 0
  1317.          bit 1     = 0  no error
  1318.          bit 0     = 0 
  1319.  
  1320. 0322    r    read DIPswitch setting on XT controller card
  1321.     w    generate controller-select pulse
  1322. 0323    w    write pattern to DMA and INT mask register
  1323.  
  1324. 0324-0327 ----    XT HDC 2   (Hard Disk Controller)
  1325. 0328-032B ----    XT HDC 3   (Hard Disk Controller)
  1326. 032C-032F ----    XT HDC 4   (Hard Disk Controller)
  1327.  
  1328. -------------------------------------------------------------------------------
  1329. 0330-0331 ----    MIDI interface
  1330.  
  1331. -------------------------------------------------------------------------------
  1332. 0330-0333 ----    Adaptec 154xB/154xC SCSI adapter. default address.
  1333.         alternate address at 0130, 0134, 0230, 0234 and 0334
  1334.  
  1335. -------------------------------------------------------------------------------
  1336. 0330-033F ----    CompaQ SCSI adapter. alternate address at 0130
  1337.  
  1338. -------------------------------------------------------------------------------
  1339. 0330-033F ----    Philips CD-ROM player CM50
  1340.  
  1341. -------------------------------------------------------------------------------
  1342. 0334-0337 ----    Adaptec 154xB/154xC SCSI adapter.
  1343.         alternate address at 0130, 0134, 0230, 0234 and 0330
  1344.  
  1345. -------------------------------------------------------------------------------
  1346. 0338      ----    AdLib soundblaster card
  1347.  
  1348. -------------------------------------------------------------------------------
  1349. 0340-034F ----    Philips CD-ROM player CM50
  1350.  
  1351. -------------------------------------------------------------------------------
  1352. 0340-034F ----    SCSI (1st Small Computer System Interface) adapter
  1353.         (alternate at 0140-014F)
  1354.  
  1355. -------------------------------------------------------------------------------
  1356. 0340-0357 ----    RTC (1st Real Time Clock for XT), (alternate at 0240-0257)
  1357.         (used by TIMER.COM v1.2 which is the 'standard' timer program)
  1358.  
  1359. 0340    r/w    0.01 seconds  0-99
  1360. 0341    r/w    0.1 seconds   0-99
  1361. 0342    r/w    seconds          0-59
  1362. 0343    r/w    minutes          0-59
  1363. 0343    r/w    hours          0-23
  1364. 0345    r/w    day of week   1-7
  1365. 0346    r/w    day of month  1-31
  1366. 0347    r/w    month          1-12
  1367. 0348
  1368. 0349    r/w    year          0-99
  1369. 034A
  1370. 034B
  1371. 034C
  1372. 034D
  1373. 034E
  1374. 034F
  1375. 0350    r    status?
  1376. 0351    
  1377. 0352
  1378. 0353
  1379. 0354    r    status?
  1380. 0355
  1381. 0356
  1382. 0357
  1383.  
  1384. -------------------------------------------------------------------------------
  1385. 0348-0357 ----    DCA 3278
  1386.  
  1387. -------------------------------------------------------------------------------
  1388. 0360-036F ----    PC network (AT)
  1389. 0360-0367 ----    PC network (XT only)
  1390.  
  1391. -------------------------------------------------------------------------------
  1392. 0370-0377 ----    FDC 2  (2nd Floppy Disk Controller 8272)  same as 03F0
  1393.  
  1394. 0372    w    diskette controller DOR (Digital Output Register)
  1395. 0374    r    diskette controller status register
  1396. 0375    r/w    diskette controller data register
  1397. 0376    r/w    FIXED disk controller data register
  1398. 0377    r    diskette controller DIR (Digital Input Register)
  1399. 0377    w    select register for diskette data transfer rate
  1400.  
  1401. -------------------------------------------------------------------------------
  1402. 0378-037A ----    parallel printer port, same as 0278 and 03BC
  1403.  
  1404. 0378    w    data port
  1405. 0379    r/w    status port
  1406. 037A    r/w    control port
  1407.  
  1408. -------------------------------------------------------------------------------
  1409. 0380-038F ----    2nd Binary Synchronous Data Link Control adapter (see 03A0)
  1410.  
  1411. 0380    r/w     on board 8255 port A, internal/external sense
  1412. 0381    r/w     on board 8255 port B, external modem interface
  1413. 0382    r/w     on board 8255 port C, internal control and gating
  1414. 0383    r/w     on board 8255 mode register
  1415. 0384    r/w     on board 8253 channel square wave generator
  1416. 0385    r/w     on board 8253 channel 1 inactivity time-out
  1417. 0386    r/w     on board 8253 channel 2 inactivity time-out
  1418. 0387    r/w     on board 8253 mode register
  1419. 0388    r/w     on board 8273 read: status  write: command
  1420. 0389    r/w     on board 8273 read: response  write: parameter
  1421. 038A    r/w     on board 8273 transmit interrupt status
  1422. 038B    r/w     on board 8273 receiver interrupt status
  1423. 038C    r/w     on board 8273 data
  1424.  
  1425. -------------------------------------------------------------------------------
  1426. 0388-0389 ---- Soundblaster PRO FM-Chip
  1427. 0388-038B ---- Soundblaster 16 ASP FM-Chip
  1428.  
  1429. -------------------------------------------------------------------------------
  1430. 0390-0397 ----    Sunshine EW-901B, EW-904B
  1431.         EPROM writer card for EPROMs up to 27512
  1432. 0390-0393    adresses of the 8255 on the EW-90xB
  1433.  
  1434. -------------------------------------------------------------------------------
  1435. 0390-039F ----    Cluster adapter (AT)
  1436.  
  1437. 0390-0393    (adapter 0)    (XT)
  1438.  
  1439. -------------------------------------------------------------------------------
  1440. 03A0-03AF ----    1st SDLC (Binary Synchronous Data Link Control adapter)
  1441.  
  1442. 0380    r/w     on board 8255 port A, internal/external sense
  1443. 0381    r/w     on board 8255 port B, external modem interface
  1444. 0382    r/w     on board 8255 port C, internal control and gating
  1445. 0383    r/w     on board 8255 mode register
  1446. 0384    r/w     on board 8253 counter 0 unused
  1447. 0385    r/w     on board 8253 channel 1 inactivity time-out
  1448. 0386    r/w     on board 8253 channel 2 inactivity time-out
  1449. 0387    r/w     on board 8253 mode register
  1450. 0388    r/w     on board 8251 data
  1451. 0389    r/w     on board 8251 command/mode/status register
  1452.  
  1453. -------------------------------------------------------------------------------
  1454. 03B0-03BF ----    MDA  (Monochrome Display Adapter based on 6845)
  1455.  
  1456. 03B0        same as 03B4
  1457. 03B1        same as 03B5
  1458. 03B2        same as 03B4
  1459. 03B3        same as 03B5
  1460. 03B4    w    MDA CRT index register     (EGA/VGA)
  1461.         selects which register (0-11h) is to be accessed through 3B5
  1462. 03B5    r/w    MDA CRT data register     (EGA/VGA)
  1463.         selected by port 3B4. registers C-F may be read
  1464.          00  horizontal total
  1465.          01  horizontal displayed
  1466.          02  horizontal sync position
  1467.          03  horizontal sync pulse width
  1468.          04  vertical total
  1469.          05  vertical displayed
  1470.          06  vertical sync position
  1471.          07  vertical sunc pulse width
  1472.          08  interlace mode
  1473.          09  maximum scan lines
  1474.          0A  cursor start
  1475.          0B  cursor end
  1476.          0C  start address high
  1477.          0D  start address low
  1478.          0E  cursor location high
  1479.          0F  cursor location low
  1480.          10  light pen high
  1481.          11  light pen low
  1482. 03B6        same as 03B4
  1483. 03B7        same as 03B5
  1484. 03B8    r/w    MDA mode control register
  1485.          bit 7 not used
  1486.          bit 6 not used
  1487.          bit 5 enable blink
  1488.          bit 4 not used
  1489.          bit 3 video enable
  1490.          bit 2 not used
  1491.          bit 1 not used
  1492.          bit 0 high resolution mode
  1493.  
  1494. 03B9        reserved for color select register on color adapter
  1495.  
  1496. 03BA    r    CRT status register     EGA/VGA: input status 1 register
  1497.          bit 7     (MSD says) if this bit changes within 8000h reads then
  1498.           bit 6-4 = 000 = adapter is Hercules or compatible
  1499.                 001 = adapter is Hercules+
  1500.                 101 = adapter is Hercules InColor
  1501.                   else: adapter is unknown
  1502.          bit 3     black/white video
  1503.          bit 2-1 reserved
  1504.          bit 0     horizontal drive
  1505.  
  1506. 03BA    w    EGA/VGA feature control register
  1507.  
  1508. 03BB        reserved for light pen strobe reset
  1509.  
  1510. -------------------------------------------------------------------------------
  1511. 03BC-03BF ----    parallel printer port, same as 0278 and 0378
  1512.  
  1513. 03BC    w    data port
  1514. 03BD    r/w    status port
  1515.          bit 7 = 0  busy
  1516.          bit 6 = 0  acknowledge
  1517.          bit 5 = 1  out of paper
  1518.          bit 4 = 1  printer is selected
  1519.          bit 3 = 0  error
  1520.          bit 2 = 0  IRQ has occurred
  1521.          bit 1-0    reserved
  1522.  
  1523. 03BE    r/w    control port
  1524.          bit 7-5    reserved
  1525.          bit 4 = 1  enable IRQ
  1526.          bit 3 = 1  select printer
  1527.          bit 2 = 0  initialize printer
  1528.          bit 1 = 1  automatic line feed
  1529.          bit 0 = 1  strobe
  1530.  
  1531. -------------------------------------------------------------------------------
  1532. 03BF    r/w    Hercules configuration switch register
  1533.          bit 7-2
  1534.          bit 1 = 0  disables upper 32K of graphics mode buffer
  1535.              1  enables upper 32K of graphics mode buffer
  1536.          bit 0 = 0  prevents graphics mode
  1537.              1  allows graphics mode
  1538.  
  1539. -------------------------------------------------------------------------------
  1540. 03C0-03C7 ----    Sunshine EW-901, EW-901A, EW-904, EW-904A
  1541.         EPROM writer card for EPROMs up to 27512
  1542. 03C0-03C3    adresses of the 8255 on the EW-90x
  1543.  
  1544. -------------------------------------------------------------------------------
  1545. 03C0-03CF ----    EGA  (1st Enhanced Graphics Adapter)    alternate at 02C0
  1546.  
  1547. 03C0    (r)/w    EGA VGA ATC index/data register
  1548. 03C1    r    VGA    other attribute register
  1549. 03C2    r    EGA VGA input status 0 register
  1550.     w    VGA    miscellaneous output register
  1551. 03C3    r/w    VGA    video subsystem enable
  1552. 03C4    w    EGA    TS index register
  1553.     r/w    VGA    sequencer index register
  1554. 03C5    w    EGA    TS data register
  1555.     r/w    VGA    other sequencer register
  1556. 03C6    r/w    VGA    PEL mask register
  1557. 03C7    r/w    VGA    PEL address read mode
  1558.     r    VGA    DAC state register
  1559. 03C8    r/w    VGA    PEL address write mode
  1560. 03C9    r/w    VGA    PEL data register
  1561. 03CA    w    EGA    graphics 2 position register
  1562.     r    VGA    feature control register
  1563. 03CC    w    EGA    graphics 1 position register
  1564.     r    VGA    miscellaneous output register
  1565. 03CE    w    EGA    GDC index register
  1566.     r/w    VGA    graphics address register
  1567. 03CF    w    EGA    GDC data register
  1568.     r/w    VGA    other graphics register
  1569.  
  1570. -------------------------------------------------------------------------------
  1571. 03D0-03DF ----    CGA   (Color Graphics Adapter)
  1572.  
  1573. 03D0        same as 03D4
  1574. 03D1        same as 03D5
  1575. 03D2        same as 03D4
  1576. 03D3        same as 03D5
  1577. 03D4    w    CRT (6845) index register   (EGA/VGA)
  1578.         selects which register (0-11h) is to be accessed through 3B5
  1579. 03D5    w    CRT (6845) data register    (EGA/VGA)
  1580.         selected by port 3B4. registers C-F may be read
  1581.          (for registers see at 3B5)
  1582. 03D6        same as 03D4
  1583. 03D7        same as 03D5
  1584. 03D8    r/w    CGA mode control register  (except PCjr)
  1585.          bit 7-6      not used
  1586.          bit 5     = 1  blink enabled
  1587.          bit 4     = 1  640*200 graphics mode
  1588.          bit 3     = 1  video enabled
  1589.          bit 2     = 1  monochrome signal
  1590.          bit 1     = 0  text mode
  1591.              = 1  320*200 graphics mode
  1592.          bit 0     = 0  40*25 text mode
  1593.              = 1  80*25 text mode
  1594.  
  1595. 03D9    r/w    CGA palette register
  1596.          bit 7-6      not used
  1597.          bit 5     = 0 active color set: red, green brown
  1598.              = 1 active color set: cyan, magenta, white
  1599.          bit 4         intense colors in graphics, background colors text
  1600.          bit 3         intense border in 40*25, intense background in
  1601.                  320*200, intense foreground in 640*200
  1602.          bit 2         red border in 40*25, red background in 320*200,
  1603.                  red foreground in 640*200
  1604.          bit 1         green border in 40*25, green background in
  1605.                  320*200, green foreground in 640*200
  1606.          bit 0         blue border in 40*25, blue background in 320*200,
  1607.                  blue foreground in 640*200
  1608.  
  1609. 03DA    r    CGA status register    EGA/VGA: input status 1 register
  1610.          bit 7-4     not used
  1611.          bit 3 = 1   in vertical retrace
  1612.          bit 2 = 1   light pen switch is off
  1613.          bit 1 = 1   positive edge from light pen has set trigger
  1614.          bit 0 = 0   do not use memory
  1615.                = 1   memory access without interfering with display
  1616.  
  1617. 03DA    w    EGA/VGA feature control register
  1618.  
  1619. 03DB    w    clear light pen latch
  1620. 03DC    r/w    preset licht pen latch
  1621.  
  1622. 03DF        CRT/CPU page register  PCjr only
  1623.  
  1624. -------------------------------------------------------------------------------
  1625. 03E8-03EF ----    serial port, same as 02E8, 02F8 and 03F8
  1626.  
  1627. -------------------------------------------------------------------------------
  1628. 03F0-03F7 ----    FDC 1  (1st Floppy Disk Controller 8272)  same as 0370
  1629.  
  1630. 03F0        diskette controller status A (PS/2)
  1631.          bit 7     interrupt pending
  1632.          bit 6     second drive installed
  1633.          bit 5     step
  1634.          bit 4     track 0
  1635.          bit 3     head 1 select
  1636.          bit 2     index
  1637.          bit 1     write protect
  1638.          bit 0     direction
  1639.  
  1640. 03F1    r    diskette controller status B (PS/2)
  1641.          bit 7-6  reserved
  1642.          bit 5      drive select (0=A:, 1=B:)
  1643.          bit 4      write data
  1644.          bit 3      read data
  1645.          bit 2      write enable
  1646.          bit 1      motor enable 1
  1647.          bit 0      motor enable 0
  1648.  
  1649. 03F2    w    diskette controller DOR (Digital Output Register)
  1650.          bit 7-6    reserved PS/2
  1651.          bit 7 = 1  drive 3 motor enable
  1652.          bit 6 = 1  drive 2 motor enable
  1653.          bit 5 = 1  drive 1 motor enable
  1654.          bit 4 = 1  drive 0 motor enable
  1655.          bit 3 = 1  diskette DMA enable (reserved PS/2)
  1656.          bit 2 = 1  FDC enable    (controller reset)
  1657.                = 0  hold FDC at reset
  1658.          bit 1-0    drive select (0=A 1=B ..)
  1659.  
  1660. 03F4    r    diskette controller status register
  1661.          bit 7 = 1  data register is ready
  1662.          bit 6 = 1  transfer is from controller to system
  1663.              0  transfer is from system to controller
  1664.          bit 5 = 1  non-DMA mode
  1665.          bit 4 = 1  diskette controller busy
  1666.          bit 3 = 1  drive 3 busy (reserved on PS/2)
  1667.          bit 2 = 1  drive 2 busy (reserved on PS/2)
  1668.          bit 1 = 1  drive 1 busy
  1669.          bit 0 = 1  drive 0 busy
  1670.  
  1671. 03F5    r    diskette command status register 0
  1672.          bit 7-6      last command status
  1673.              = 00  command terminated successfully
  1674.              = 01  command terminated abnormally
  1675.              = 10  invalid command
  1676.              = 11  terminated abnormally by change in ready signal
  1677.          bit 5     = 1   seek completed
  1678.          bit 4     = 1  equipment check occurred after error
  1679.          bit 3     = 1  not ready
  1680.          bit 2     = 1  head number at interrupt
  1681.          bit 1-0 = 1  unit select (0=A 1=B .. )
  1682.                   (on PS/2    01=A  10=B)
  1683.  
  1684.         status register 1
  1685.          bit 7        end of cylinder; sector# greater then sectors/track
  1686.          bit 6 = 0
  1687.          bit 5 = 1  CRC error in ID or data field
  1688.          bit 4 = 1  overrun
  1689.          bit 3 = 0
  1690.          bit 2 = 1  sector ID not found
  1691.          bit 1 = 1  write protect detected during write
  1692.          bit 0 = 1  ID address mark not found
  1693.  
  1694.         status register 2
  1695.          bit 7 = 0
  1696.          bit 6 = 1  deleted Data Eddress Mark detected
  1697.          bit 5 = 1  CRC error in data
  1698.          bit 4 = 1  wrong cylinder detected
  1699.          bit 3 = 1  scan command equal condition satisfied
  1700.          bit 2 = 1  scan command failed, sector not found
  1701.          bit 1 = 1  bad cylinder, ID not found
  1702.          bit 0 = 1  missing Data Address Mark 
  1703.  
  1704.         status register 3
  1705.          bit 7        fault status signal
  1706.          bit 6        write protect status
  1707.          bit 5        ready status
  1708.          bit 4        track zero status
  1709.          bit 3        two sided status signal
  1710.          bit 2        side select (head select)
  1711.          bit 1-0    unit select (0=A 1=B .. )
  1712.  
  1713. 03F6    r/w    FIXED disk controller data register
  1714.          bit 7-4    reserved
  1715.          bit 3 = 0  reduce write current
  1716.              1  head select 3 enable
  1717.          bit 2 = 1  disk reset enable
  1718.              0  disk reset disable
  1719.          bit 1 = 0  disk initialization enable
  1720.              1  disk initialization disable
  1721.          bit 0        reserved
  1722.  
  1723. 03F7    r    diskette controller DIR (Digital Input Register)
  1724.          bit 7 = 1 diskette change
  1725.  
  1726.          bit 6       FIXED DISK write gate
  1727.          bit 5       FIXED DISK head select 3 / reduced write current
  1728.          bit 4       FIXED DISK head select 2
  1729.          bit 3       FIXED DISK head select 1
  1730.          bit 2       FIXED DISK head select 0
  1731.          bit 1       FIXED DISK drive 1 select
  1732.          bit 0       FIXED DISK drive 0 select   conflicts with:
  1733.  
  1734.          bit 0       diskette high density select
  1735.  
  1736. 03F7    w    select register for diskette data transfer rate
  1737.          bit 7-2       reserved
  1738.          bit 1-0 = 00  500 Kb/S mode
  1739.              = 01  300 Kb/S mode
  1740.              = 10  250 Kb/S mode
  1741.              = 11  reserved
  1742.  
  1743. -------------------------------------------------------------------------------
  1744. 03F8-03FF ----    serial port (8250,8251,16450,16550), same as 02E8,02F8 and 03E8
  1745.  
  1746. 03F8    w    serial port, transmitter holding register, which contains the
  1747.         character to be sent. Bit 0 is sent first.
  1748.          bit 7-0   data bits when DLAB=0 (Divisor Latch Access Bit)
  1749.     r    receiver buffer register, which contains the received character
  1750.         Bit 0 is received first
  1751.          bit 7-0   data bits when DLAB=0 (Divisor Latch Access Bit)
  1752.     r/w    divisor latch low byte when DLAB=1
  1753.  
  1754. 03F9    r/w    divisor latch high byte when DLAB=1
  1755.     r/w    interrupt enable register when DLAB=0
  1756.          bits 7-4   reserved
  1757.          bit 3 = 1  modem-status interrupt enable
  1758.          bit 2 = 1  receiver-line-status interrupt enable
  1759.          bit 1 = 1  transmitter-holding-register empty interrupt enable
  1760.          bit 0 = 1  received-data-avail.int. enable (and 16550 timeout)
  1761.  
  1762.           - 16550 will interrupt if data exists in the FIFO and isn't read
  1763.         within the time it takes to receive four bytes or if no data is
  1764.         received within the time it takes to receive four bytes
  1765.  
  1766. 03FA    r    interrupt identification register. Information about a pending
  1767.         interrupt is stored here. When the ID register is addressed,
  1768.         the highest priority interrupt is held, and no other interrupts
  1769.         are acknowledged until the CPU services that interrupt.
  1770.          bit 7-6 = 00  reserved on 8250, 8251, 16450
  1771.              = 11  if FIFO queues are enabled (16550 only)
  1772.          bit 5-4 = 0 reserved
  1773.          bit 3     = 0 reserved  8250, 16450
  1774.              = 1 16550  timeout int. pending
  1775.          bit 2-1 identify pending interrupt with the highest priority
  1776.           = 11    receiver line status interrupt. priority=highest
  1777.           = 10    received data available register interrupt. pr.=second
  1778.           = 01    transmitter holding register empty interrupt. pr.=third
  1779.           = 00    modem status interrupt. priority=fourth
  1780.          bit 0 = 0  interrupt pending. contents of register can be used
  1781.                 as a pointer to the appropriate int.service routine
  1782.              1  no interrupt pending
  1783.  
  1784.           - interrupt pending flag uses reverse logic, 0=pending, 1=none
  1785.           - interrupt will occur if any of the line status bits are set
  1786.           - THRE bit is set when THRE register is emptied into the TSR
  1787.  
  1788.  
  1789. 03FA    w    16650 FCR  (FIFO Control Register)
  1790.          bit 7-6 = 00  1 byte
  1791.              = 01  4 bytes
  1792.              = 10  8 bytes
  1793.              = 11 14 bytes
  1794.          bit 5-4 = 00 reserved
  1795.          bit 3     = 1  change RXRDY  TXRDY pins from mode 0 to mode 1
  1796.          bit 2     = 1  clear XMIT FIFO
  1797.          bit 1     = 1  clear RCVR FIFO
  1798.          bit 0     = 1  enable clear XMIT and RCVR FIFO queues
  1799.  
  1800.           - bit 0 must be set in order to write to other FCR bits
  1801.           - bit 1 when set    the RCVR FIFO is cleared and this bit is reset
  1802.          the receiver shift register is not cleared
  1803.           - bit 2 when set    the XMIT FIFO is cleared and this bit is reset
  1804.          the transmit shift register is not cleared
  1805.  
  1806. 03FB    r/w    line control register
  1807.          bit 7 = 1  divisor latch access bit (DLAB)
  1808.              0  receiver buffer, transmitter holding, or interrupt
  1809.                 enable register access
  1810.          bit 6 = 1  set break enable. serial ouput is forced to spacing
  1811.                 state and remains there.
  1812.          bit 5 =    stick parity
  1813.          bit 4 = 1  even parity select
  1814.          bit 3 =    parity enable
  1815.              1  even number of ones are sent and checked in the 
  1816.                 data word bits and parity bit
  1817.              0  odd number of ones are sent and checked
  1818.          bit 2 = 0  one stop bit
  1819.              1  zero stop bit
  1820.          bit 1-0 00 word length is 5 bits
  1821.              01 word length is 6 bits
  1822.              10 word length is 7 bits
  1823.              11 word length is 8 bits
  1824.  
  1825. 03FC    r/w    modem control register
  1826.          bit 7-5 = 0  reserved
  1827.          bit 4 = 1  loopback mode for diagnostic testing of serial port
  1828.                 output of transmitter shift register is looped back
  1829.                 to receiver shift register input. In this mode
  1830.                 transmitted data is received immediately so that
  1831.                 the CPU can verify the transmit data/receive data
  1832.                 serial port paths.
  1833.          bit 3 = 1  auxiliary user-designated output 2
  1834.          bit 2 = 1  auxiliary user-designated output 1
  1835.          bit 1 = 1  force request-to-send active
  1836.          bit 0 = 1  force data-terminal-ready active
  1837.  
  1838. 03FD    r    line status register
  1839.          bit 7 = 0  reserved
  1840.          bit 6 = 1  transmitter shift and holding registers empty
  1841.          bit 5 = 1  transmitter holding register empty. Controller is
  1842.                 ready toaccept a new character to send.
  1843.          bit 4 = 1  break interrupt. the received data input is held in
  1844.                 in the zero bit state longer than the time of start
  1845.                 bit + data bits + parity bit + stop bits.
  1846.          bit 3 = 1  framing error. the stop bit that follows the last
  1847.                 parity or data bit is a zero bit.
  1848.          bit 2 = 1  parity error. Character has wrong parity
  1849.          bit 1 = 1  overrun error. a character was sent to the receiver
  1850.                 buffer before the previous character in the buffer
  1851.                 could be read. This destroys the previous
  1852.                 character.
  1853.          bit 0 = 1  data ready. a complete incoming character has been
  1854.                 received and sent to the receiver buffer register.
  1855.  
  1856. 03FE    r    modem status register
  1857.          bit 7 = 1  data carrier detect
  1858.          bit 6 = 1  ring indicator
  1859.          bit 5 = 1  data set ready
  1860.          bit 4 = 1  clear to send
  1861.          bit 3 = 1  delta data carrier detect
  1862.          bit 2 = 1  trailing edge ring indicator
  1863.          bit 1 = 1  delta data set ready
  1864.          bit 0 = 1  delta clear to send
  1865.  
  1866.           - bits 0-3 are reset when the CPU reads the MSR
  1867.           - bit 4 is the Modem Control Register RTS during loopback test
  1868.           - bit 5 is the Modem Control Register DTR during loopback test
  1869.           - bit 6 is the Modem Control Register OUT1 during loopback test
  1870.           - bit 7 is the Modem Control Register OUT2 during loopback test
  1871.  
  1872. 03FF    r/w    scratch register
  1873.  
  1874. -------------------------------------------------------------------------------
  1875.  
  1876.         Adresses above 03FF apply to EISA machines only !
  1877.  
  1878.              1000-1FFF    slot 1 EISA
  1879.              2000-2FFF    slot 2 EISA
  1880.              3000-3FFF    slot 3 EISA
  1881.              4000-4FFF    slot 4 EISA
  1882.              5000-5FFF    slot 5 EISA
  1883.              6000-6FFF    slot 6 EISA
  1884.              7000-7FFF    slot 7 EISA
  1885.  
  1886. -------------------------------------------------------------------------------
  1887. 0401-04D6 ----    used by EISA systems only
  1888.  
  1889. 0401    r/w    DMA channel 0 word count byte 2 (high)
  1890. 0403    r/w    DMA channel 1 word count byte 2 (high)
  1891. 0405    r/w    DMA channel 2 word count byte 2 (high)
  1892. 0407    r/w    DMA channel 3 word count byte 2 (high)
  1893.  
  1894. 040A    w    extended DMA chaining mode register, channels 0-3
  1895.          bit 7-5      reserved
  1896.          bit 4     = 0  generates IRQ13
  1897.              = 1  generates terminal count
  1898.          bit 3     = 0  do not start chaining
  1899.              = 1  programming complete
  1900.          bit 2     = 0  disable buffer chaining mode (default)
  1901.              = 1  enable buffer chaining mode
  1902.          bit 1-0      DMA channel select
  1903.  
  1904. 040A    r    channel interrupt (IRQ13) status register
  1905.          bit 7-5  interrupt on channels 7-5
  1906.          bit 4      reserved
  1907.          bit 3-0  interrupt on channels 3-0
  1908.  
  1909. 040B    w    DMA extended mode register for channels 3-0.
  1910.         bit settings same as 04D6
  1911.          bit 7     = 0  enable stop register
  1912.          bit 6     = 0  terminal count is an output for this channel
  1913. (default)
  1914.          bit 5-4      DMA cycle timing
  1915.              = 00 ISA-compatible (default)
  1916.              = 01 type A timing mode
  1917.              = 10 type B timing mode
  1918.              = 11 burst DMA mode
  1919.          bit 3-2      Address mode
  1920.              = 00 8-bit I/O, count by bytes (default)
  1921.              = 01 16-bit I/O, count by words, address shifted
  1922.              = 10 32-bit I/O, count by bytes
  1923.              = 11 16-bit I/O, count by bytes
  1924.          bit 1-0      DMA channel select
  1925.  
  1926. -------------------------------------------------------------------------------
  1927. 0461    r/w    Extended NMI status/control register
  1928.          bit 7 = 1  NMI pending from fail-safe timer (read only)
  1929.          bit 6 = 1  NMI pending from bus timeout NMI status (read
  1930. only)
  1931.          bit 5 = 1  NMI pending (read only)
  1932.          bit 4        reserved
  1933.          bit 3 = 1  bus timeout NMI enable (read/write)
  1934.          bit 2 = 1  fail-safe NMI enable (read/write)
  1935.          bit 1 = 1  NMI I/O port enable (read/write)
  1936.          bit 0        RSTDRV. bus reset (read/write)
  1937.                = 0  normal bus reset operation
  1938.                = 1  reset bus asserted
  1939.  
  1940. 0462    w    Software NMI register. writing to this register causes an NMI
  1941.         if NMI's are enabled
  1942.          bit 7 = 1  generates an NMI
  1943.  
  1944. 0464    r    bus master status latch register (slots 1-8). identifies the
  1945.         last bus master that had control of the bus
  1946.          bit 7 = 0  slot 8 had control last
  1947.          bit 6 = 0  slot 7 had control last
  1948.          bit 5 = 0  slot 6 had control last
  1949.          bit 4 = 0  slot 5 had control last
  1950.          bit 3 = 0  slot 4 had control last
  1951.          bit 2 = 0  slot 3 had control last
  1952.          bit 1 = 0  slot 2 had control last
  1953.          bit 0 = 0  slot 1 had control last
  1954.  
  1955. 0465    r    bus master status latch register (slots 9-16)
  1956.          bit 7 = 0  slot 16 had control last
  1957.          bit 6 = 0  slot 15 had control last
  1958.          bit 5 = 0  slot 14 had control last
  1959.          bit 4 = 0  slot 13 had control last
  1960.          bit 3 = 0  slot 12 had control last
  1961.          bit 2 = 0  slot 11 had control last
  1962.          bit 1 = 0  slot 10 had control last
  1963.          bit 0 = 0  slot 9  had control last
  1964.  
  1965. -------------------------------------------------------------------------------
  1966. 0481    r/w    DMA channel 2 address byte 3 (high)
  1967. 0482    r/w    DMA channel 3 address byte 3 (high)
  1968. 0483    r/w    DMA channel 1 address byte 3 (high)
  1969. 0487    r/w    DMA channel 0 address byte 3 (high)
  1970. 0489    r/w    DMA channel 6 address byte 3 (high)
  1971. 048A    r/w    DMA channel 7 address byte 3 (high)
  1972. 048B    r/w    DMA channel 5 address byte 3 (high)
  1973.  
  1974. 04C6    r/w    DMA channel 5 word count byte 2 (high)
  1975. 04CA    r/w    DMA channel 6 word count byte 2 (high)
  1976. 04CE    r/w    DMA channel 7 word count byte 2 (high)
  1977.  
  1978. -------------------------------------------------------------------------------
  1979. 04D0    w    IRQ 0-7 interrupt edge/level registers
  1980.          bit 7 = 1  IRQ 7 is level sensitive
  1981.          bit 6 = 1  IRQ 6 is level sensitive
  1982.          bit 5 = 1  IRQ 5 is level sensitive
  1983.          bit 4 = 1  IRQ 4 is level sensitive
  1984.          bit 3 = 1  IRQ 3 is level sensitive
  1985.          bit 2-0    reserved
  1986.  
  1987. 04D1    w    IRQ 8-15 interrupt edge/level registers
  1988.          bit 7 = 1  IRQ 15 is level sensitive
  1989.          bit 6 = 1  IRQ 14 is level sensitive
  1990.          bit 5 = 1  reserved
  1991.          bit 4 = 1  IRQ 12 is level sensitive
  1992.          bit 3 = 1  IRQ 11 is level sensitive
  1993.          bit 2 = 1  IRQ 10 is level sensitive
  1994.          bit 1 = 1  IRQ 9  is level sensitive
  1995.          bit 0        reserved
  1996.  
  1997. 04D4    w    extended DMA chaining mode register, channels 4-7
  1998.          bit 7-5 = 0  reserved
  1999.          bit 4     = 0  generates IRQ 13
  2000.              = 1  generates terminal count
  2001.          bit 3     = 0  do not start chaining
  2002.              = 1  programming complete
  2003.          bit 2     = 0  disable buffer chaining mode (default)
  2004.              = 1  enable buffer chaining mode
  2005.          bit 1-0      DMA channel select
  2006.  
  2007. 04D6    w    DMA extended mode register for channels 4-7
  2008.         bit settings same as 04B
  2009.          bit 7     = 0  enable stop register
  2010.          bit 6     = 0  terminal count is an output for this channel
  2011. (default)
  2012.          bit 5-4      DMA cycle timing
  2013.              = 00 ISA-compatible (default)
  2014.              = 01 type A timing mode
  2015.              = 10 type B timing mode
  2016.              = 11 burst DMA mode
  2017.          bit 3-2      Address mode
  2018.              = 00 8-bit I/O, count by bytes (default)
  2019.              = 01 16-bit I/O, count by words, address shifted
  2020.              = 10 32-bit I/O, count by bytes
  2021.              = 11 16-bit I/O, count by bytes
  2022.          bit 1-0      DMA channel select
  2023.  
  2024. -------------------------------------------------------------------------------
  2025. 0601    w    System control. Laptop chipset: Headland HL21 & Acer M5105
  2026.          bit 7 = 1  power led on
  2027.          bit 6 = 1  LCD backlight off
  2028.          bit 5
  2029.          bit 4
  2030.          bit 3
  2031.          bit 2 = 1  video chips disabled, screen blanked.
  2032.          bit 1
  2033.          bit 0 = 1  will lock up your machine!
  2034.  
  2035.     r     bit 7 = 0  if screen enabled always these values
  2036.          bit 6 = 0
  2037.          bit 5 = 0
  2038.          bit 4 = 0
  2039.          bit 3 = 0
  2040.          bit 2 = 1
  2041.          bit 1 = 0
  2042.          bit 0 = 0
  2043.  
  2044. -------------------------------------------------------------------------------
  2045. 0620-0627 ----    PC network (adapter 1)
  2046. 0628-062F ----    PC network (adapter 2)
  2047.  
  2048. -------------------------------------------------------------------------------
  2049. 06E2-06E3 ----    data aquisition (adapter 1)
  2050.  
  2051. -------------------------------------------------------------------------------
  2052. 0790-0793 ----    cluster (adapter 1)
  2053.  
  2054. -------------------------------------------------------------------------------
  2055. 0800-08FF ----    I/O port access registers for extended CMOS RAM or SRAM
  2056.         (256 bytes at a time)
  2057.         Sometimes plain text can be seen here.
  2058.  
  2059. -------------------------------------------------------------------------------
  2060. 0A20-0A23 ----    Token Ring (adapter 1)
  2061. 0A24-0A27 ----    Token Ring (adapter 2)
  2062.  
  2063. -------------------------------------------------------------------------------
  2064. 0AE2-0AE3 ----    cluster (adapter 2)
  2065. 0B90-0B93 ----    cluster (adapter 2)
  2066.  
  2067. -------------------------------------------------------------------------------
  2068. 0C00    r/w    page register to write to SRAM or I/O
  2069.  
  2070. -------------------------------------------------------------------------------
  2071. 0C7C        bit 7-4 (Compaq)
  2072.  
  2073. -------------------------------------------------------------------------------
  2074. 0C80-0C83 ----    system board ID registers
  2075.  
  2076. -------------------------------------------------------------------------------
  2077. 1390-1393 ----    cluster (adapter 3)
  2078.  
  2079. -------------------------------------------------------------------------------
  2080. 2100-210F ----    IBM XGA (eXtended Graphics Adapter  8514/A)
  2081. 2110-211F ----    IBM XGA (eXtended Graphics Adapter  8514/A)
  2082. 2120-212F ----    IBM XGA (eXtended Graphics Adapter  8514/A)
  2083. 2130-213F ----    IBM XGA (eXtended Graphics Adapter  8514/A)
  2084. 2140-214F ----    IBM XGA (eXtended Graphics Adapter  8514/A)
  2085. 2150-215F ----    IBM XGA (eXtended Graphics Adapter  8514/A)
  2086. 2160-216F ----    IBM XGA (eXtended Graphics Adapter  8514/A)
  2087. 2170-217F ----    IBM XGA (eXtended Graphics Adapter  8514/A)
  2088.  
  2089. -------------------------------------------------------------------------------
  2090. 2390-2393 ----    cluster (adapter 4)
  2091.  
  2092. -------------------------------------------------------------------------------
  2093. 27C6    r/w    LCD timeout in minutes (Compaq LTE Lite)
  2094.  
  2095. -------------------------------------------------------------------------------
  2096. 3220-3227 ----    serial port 3, description same as 03F8
  2097. 3228-322F ----    serial port 4, description same as 03F8
  2098.  
  2099. -------------------------------------------------------------------------------
  2100. 3540-354F ----    IBM SCSI (Small Computer System Interface) adapter
  2101. 3550-355F ----    IBM SCSI (Small Computer System Interface) adapter
  2102. 3560-356F ----    IBM SCSI (Small Computer System Interface) adapter
  2103. 3570-357F ----    IBM SCSI (Small Computer System Interface) adapter
  2104.  
  2105. -------------------------------------------------------------------------------
  2106. 4220-4227 ----    serial port, description same as 03F8
  2107. 4228-422F ----    serial port, description same as 03F8
  2108.  
  2109. -------------------------------------------------------------------------------
  2110. 42E0-42EF ----    GPIB (General Purpose Interface Bus, IEEE 488 interface)
  2111.  
  2112. 42E1    r/w    GPIB (adapter 2)
  2113.  
  2114. -------------------------------------------------------------------------------
  2115. 5220-5227 ----    serial port, description same as 03F8
  2116. 5228-522F ----    serial port, description same as 03F8
  2117.  
  2118. -------------------------------------------------------------------------------
  2119. 62E0-62EF ----    GPIB (General Purpose Interface Bus, IEEE 488 interface)
  2120.  
  2121. 62E1    r/w    GPIB (adapter 3)
  2122.  
  2123. -------------------------------------------------------------------------------
  2124. 82E0-82EF ----    GPIB (General Purpose Interface Bus, IEEE 488 interface)
  2125.  
  2126. 82E1    r/w    GPIB (adapter 4)
  2127.  
  2128. -------------------------------------------------------------------------------
  2129. 82F8-82FF ----    serial port, description same as 03F8
  2130. 83F8-83FF ----    serial port, description same as 03F8
  2131.  
  2132. -------------------------------------------------------------------------------
  2133. A220      ????    soundblaster support in AMI Hi-Flex BIOS  ????
  2134.  
  2135. -------------------------------------------------------------------------------
  2136. A2E0-A2EF ----    GPIB (General Purpose Interface Bus, IEEE 488 interface)
  2137.  
  2138. A2E1    r/w    GPIB (adapter 5)
  2139.  
  2140. -------------------------------------------------------------------------------
  2141. AFFF    r/w    plane 0-3 system latch (video register)
  2142.  
  2143. -------------------------------------------------------------------------------
  2144. B220-B227 ----    serial port, description same as 03F8
  2145. B228-B22F ----    serial port, description same as 03F8
  2146.  
  2147. -------------------------------------------------------------------------------
  2148. C220-C227 ----    serial port, description same as 03F8
  2149. C228-C22F ----    serial port, description same as 03F8
  2150.  
  2151. -------------------------------------------------------------------------------
  2152. D220-D227 ----    serial port, description same as 03F8
  2153. D228-D22F ----    serial port, description same as 03F8
  2154.  
  2155. -------------------------------------------------------------------------------
  2156. C2E0-C2EF ----    GPIB (General Purpose Interface Bus, IEEE 488 interface)
  2157.  
  2158. C2E1    r/w    GPIB (adapter 6)
  2159.  
  2160. -------------------------------------------------------------------------------
  2161. E2E0-E2EF ----    GPIB (General Purpose Interface Bus, IEEE 488 interface)
  2162.  
  2163. E2E1    r/w    GPIB (adapter 7)
  2164.  
  2165.  
  2166. -------------------------------------------------------------------------------
  2167.  
  2168. MEMORY-MAPPED ADDRESSES
  2169.  
  2170. -------------------------------------------------------------------------------
  2171. 80C00000  Compaq Deskpro 386 system memory board register
  2172.  
  2173. 80C00000 w    RAM relocation register
  2174.         bit 7-2       Reserved, always write 1's.
  2175.         bit 1 = 0  Write-protect 128-Kbyte RAM at FE0000.
  2176.               = 1  Do not write-protect RAM at FE0000.
  2177.         bit 0 = 0  Relocate 128-Kbyte block at FE0000 to address 0E0000
  2178.               = 1  128-Kbyte RAM is addressed only at FE0000.
  2179.  
  2180. 80C00000 r    Diagnostics register
  2181.         bit 7    = 0  memory expansion board is installed
  2182.         bit 6    = 0  second 1 MB of system memory board is installed
  2183.         bit 5-4 = 00 base memory set to 640 KB
  2184.               01 invalid
  2185.               10 base memory set to 512 KB
  2186.               11 base memory set to 256 KB
  2187.         bit 3    = 0  parity error in byte 3
  2188.         bit 2    = 0  parity error in byte 2
  2189.         bit 1    = 0  parity error in byte 1
  2190.         bit 0    = 0  parity error in byte 0 (in 32-bit double word)
  2191.  
  2192. -------------------------------------------------------------------------------
  2193.